Example #1
0
        public void UpdateGame()
        {
            switch (m_gameState)
            {
            case GameState.None:
            case GameState.AppandingToMasterClient:
            {
                break;
            }

            case GameState.Initing:
            {
                if (m_gameStartCondition.IsGameCanStart())
                {
                    StartGame();
                }
                break;
            }

            case GameState.Running:
            {
                m_runningGameLogic.Tick();
                if (m_gameOverCondition.IsGameOver(OnPlayerWin, OnPlayerLose))
                {
                    m_gameOverCondition = null;
                    m_gameState         = GameState.End;
                }
                break;
            }
            }
        }
Example #2
0
 private void StartGame()
 {
     if (NetworkManager.IsOffline || (!NetworkManager.IsOffline && PhotonNetwork.isMasterClient))
     {
         List <Actor> _allActors = ActorManager.AllActors;
         for (int i = 0; i < _allActors.Count; i++)
         {
             if (m_otherAIObjectInstanceID.Contains(_allActors[i].gameObject.GetInstanceID()))
             {
                 _allActors[i].EnableAI(true);
             }
         }
         m_runningGameLogic  = new MainGameLogic(50f, 3f);
         m_gameState         = GameState.Running;
         m_gameOverCondition = new GameOverCondition_AllActorDied(m_currentNewGameSetting.startAs);
         if (!NetworkManager.IsOffline)
         {
             PhotonEventSender.StartGame();
         }
         else
         {
             SyncGameStart();
         }
     }
 }
Example #3
0
        private void InitGameOverCondition()
        {
            switch (GameOverLimit)
            {
            case SeekerGame.GameOverCondition.STEPS_LIMIT:
                this.m_gameOverCondition = new GameOverBySteps(m_sceneData.clickCount);
                break;

            case SeekerGame.GameOverCondition.TIME_LIMIT:
                this.m_gameOverCondition = new GameOverByTime(1000);
                break;
            }
        }