public void RegisterObserverByEventType(GameEventType e, GameEventObserver ob) { GameEventSubject sub = GetGameEventType(e); sub.RegisterObserver(ob); ob.SetSubject(sub); }
public void registerObserver(GameEventObserver observer) { if (!observers.Contains(observer)) { observers.Add(observer); } }
public void registerObserver(GameEventObserver observer) { if (!observers.Contains(observer)) { observers.Add(observer); } }
private void OnDamageTaken(uint amount) { if (currentHealth == 1 || currentHealth == 0) { currentHealth = 0; } else { currentHealth -= amount; } GameEventObserver.FireHUDHealthEvent(currentHealth); }
// Update is called once per frame void Update() { if (agent.pathStatus == NavMeshPathStatus.PathComplete && agent.remainingDistance <= agent.stoppingDistance) { if (currentWayPoint < waypoints.Length) { SetNextPoint(); } else { GameEventObserver.FireOnDamageTakenEvent(currentStats.damageToPlayer); PoolManager.AddToPool(this); } } }
/// <summary> /// This function will process the events that the observer has seen and will make the observer "react" to those events. /// </summary> /// <param name="observer">The GameEventObserver that will "react" to GameEvents it has seen.</param> /// <param name="gw">The GameWorld the GameEventObserver is in.</param> public static void processEvents(GameEventObserver observer, GameWorld gw) { // Does the observer have GameEvents to process> if (observer.getEventList().Count > 0) { // Check if observer is a Unit. if (observer.GetType().Name.Equals("Unit")) { Unit unit = (Unit)observer.getEntity(); handleEventsForUnit(unit, gw); } // Clear the event list. observer.getEventList().Clear(); } }
/// <summary> /// This function will process the events that the observer has seen and will make the observer "react" to those events. /// </summary> /// <param name="observer">The GameEventObserver that will "react" to GameEvents it has seen.</param> /// <param name="gw">The GameWorld the GameEventObserver is in.</param> public static void processEvents(GameEventObserver observer, GameWorld gw) { // Does the observer have GameEvents to process> if (observer.getEventList().Count > 0) { // Check if observer is a Unit. if (observer.GetType().Name.Equals("Unit")) { Unit unit = (Unit)observer.getEntity(); handleEventsForUnit(unit, gw); } // Clear the event list. observer.getEventList().Clear(); } }
void Start() { currentHealth = defaultHealth; GameEventObserver.FireHUDHealthEvent(currentHealth); GameEventObserver.FireHUDMaxWaveEvent((uint)waves.Length); PoolManager.Initialize(); for (int index = 0; index < poolableObjects.Length; index++) { var poolableObject = poolableObjects[index]; PoolManager.AddToPool(poolableObject); } GameEventObserver.AddOnDamageTakenListener(OnDamageTaken); StartCoroutine(SpawnCoroutine()); GameEventObserver.FireHUDHealthEvent(currentHealth); }
private void OnDeath() { OnKill?.Invoke(this); GameEventObserver.FireEnemyKillEvent(this); PoolManager.AddToPool(this); }
public void RemoveObserver(GameEventObserver ob) { m_observers.Remove(ob); }
public void unregisterObserver(GameEventObserver observer) { observers.Remove(observer); }
public void RegisterObserver(GameEventObserver ob) { m_observers.Add(ob); }
public void RemoveObserverByEventType(GameEventType e, GameEventObserver ob) { GetGameEventType(e).RemoveObserver(ob); ob.SetSubject(null); }
public void unregisterObserver(GameEventObserver observer) { observers.Remove(observer); }
private void Awake() { GameEventObserver.AddHUDHealthEventListener(HUDHealthEvent); GameEventObserver.AddOnMOneyChangedListener(OnMoneyChanged); GameEventObserver.AddHUDMaxWaveEventListener(OnMaxWaveChanged); }
public void RemoveListener(GameEventObserver observer) { observers.Remove(observer); }
public void AddListener(GameEventObserver observer) { observers.Add(observer); }