public virtual void NotifyAll(GameObject entity, OBSERVER_EVENT observedEvent) { foreach (IObserver item in observers) { item.OnNotify(entity, observedEvent); } }
public override void OnNotify(GameObject gameObject, OBSERVER_EVENT oEvent) { switch (oEvent) { case OBSERVER_EVENT.ENTERED_VOID: { UnlockAchievement(ACHIEVEMENTS.VOID_EXPLORER); break; } case OBSERVER_EVENT.PLACED_BLOCK: { if (numBlocksPlaced < 10) { numBlocksPlaced++; if (numBlocksPlaced >= 10) { UnlockAchievement(ACHIEVEMENTS.BUILDER); } } break; } case OBSERVER_EVENT.UNLOCKED_ACHIEVEMENT: { if (unlockedAchievements.Count >= 2) { { UnlockAchievement(ACHIEVEMENTS.ACHIEVEMENT_UNLOCKER); } // if the last achievement unlocked was the achievement unlocker achievement if (unlockedAchievements.Contains(allAchievements[(int)ACHIEVEMENTS.ACHIEVEMENT_UNLOCKER])) { UnlockAchievement(ACHIEVEMENTS.ACHIEVEMENT_UNLOCKER_UNLOCKER); } if (unlockedAchievements.Contains(allAchievements[(int)ACHIEVEMENTS.ACHIEVEMENT_UNLOCKER_UNLOCKER])) { UnlockAchievement(ACHIEVEMENTS.ACHIEVEMENT_UNLOCKER_UNLOCKER_UNLOCKER); } if (unlockedAchievements.Contains(allAchievements[(int)ACHIEVEMENTS.ACHIEVEMENT_UNLOCKER_UNLOCKER_UNLOCKER])) { UnlockAchievement(ACHIEVEMENTS.ACHIEVEMENT_UNLOCKER_UNLOCKER_UNLOCKER_UNLOCKER); } } break; } } }
public abstract void OnNotify(GameObject entity, OBSERVER_EVENT observedEvent);