Пример #1
0
        private void handleDeadPlayer(IUpdateGameManager i_UpdatesGameManager, ePlayerType i_PlayerType)
        {
            IPlayer playerToRemove = null;

            i_UpdatesGameManager.ScoreChanged -= updatesGameManager_ScoreChanged;
            i_UpdatesGameManager.GameOver     -= updatesGameManager_GameOver;
            i_UpdatesGameManager.PlayerDown   -= updatesGameManager_PlayerDown;
            if (m_CurrentAlivePlayers == 1)
            {
                m_Players[0].IsDead = true;
                handleGameOverSituation();
            }

            foreach (IPlayer player in m_Players)
            {
                if (player.PlayerType == i_PlayerType)
                {
                    playerToRemove = player;
                    player.IsDead  = true;
                    break;
                }
            }

            m_CurrentAlivePlayers--;
        }
Пример #2
0
 public void AddObjectToMonitor(IUpdateGameManager i_UpdatesGameManager)
 {
     if (!m_UpdatesGameManager.Contains(i_UpdatesGameManager))
     {
         m_UpdatesGameManager.Add(i_UpdatesGameManager);
         i_UpdatesGameManager.ScoreChanged       += updatesGameManager_ScoreChanged;
         i_UpdatesGameManager.GameOver           += updatesGameManager_GameOver;
         i_UpdatesGameManager.PlayerDown         += updatesGameManager_PlayerDown;
         i_UpdatesGameManager.RemoveMeAsNotifier += updatesGameManager_RemoveMeAsNotifier;
         i_UpdatesGameManager.LevelPassed        += updatesGameManager_LevelPassed;
     }
 }
Пример #3
0
 private void handleRemoveMeAsNotifier(IUpdateGameManager i_UpdatesGameManager)
 {
     if (m_UpdatesGameManager.Contains(i_UpdatesGameManager))
     {
         i_UpdatesGameManager.ScoreChanged       -= updatesGameManager_ScoreChanged;
         i_UpdatesGameManager.GameOver           -= updatesGameManager_GameOver;
         i_UpdatesGameManager.PlayerDown         -= updatesGameManager_PlayerDown;
         i_UpdatesGameManager.RemoveMeAsNotifier -= updatesGameManager_RemoveMeAsNotifier;
         i_UpdatesGameManager.LevelPassed        -= updatesGameManager_LevelPassed;
         m_UpdatesGameManager.Remove(i_UpdatesGameManager);
     }
 }