Example #1
0
 public virtual void NotifyAll(GameObject entity, OBSERVER_EVENT observedEvent)
 {
     foreach (IObserver item in observers)
     {
         item.OnNotify(entity, observedEvent);
     }
 }
Example #2
0
    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;
        }
        }
    }
Example #3
0
 public abstract void OnNotify(GameObject entity, OBSERVER_EVENT observedEvent);