2075 / Unity / 2D / 3D / Шаблони / Спостерігач (Event, Observer)
Прибирає залежність між об'єктами
Сповіщає підписантів, що:
- Стався землетрус
- З'явилась аптечка
- Піднявся рівень води
- Стався ядерний вибух

| EventManager | Rotate15 |
EventManager
public static event Action EventFire; //public static event Action<int> EventDamage; // EventDamage?.Invoke(5); // якщо з параметром public static void Fire(){ // легко запустити ззовні EventFire?.Invoke(); } void Update() { if (Input.GetMouseButtonDown(0)) { Fire(); } }
Монстр void OnEnable() { EventManager.EventFire += Fire; // підписатися на EventFire } void Fire() { // реакція на повідомлення // зручно, коли у гравця багато зброї // та, яка активна - стрілятиме } void OnDisable() { EventManager.EventFire -= Fire; // відписатися після смерті }
