Пример #1
0
        void StateChanged(StateChangeSignal state)
        {
            GameStatesType stateType = state.newGameState;

            switch (stateType)
            {
            case GameStatesType.PLAYERSTATE: playerMoves++; break;

            case GameStatesType.GAMEOVERSTATE: Reset(); break;

            case GameStatesType.LOADLEVELSTATE: Reset(); break;
            }
        }
Пример #2
0
        void GameStart(StateChangeSignal signal)
        {
            if (gameInstaller == null)
            {
                gameInstaller = GameObject.FindObjectOfType <GameInstaller>();
            }

            if (signal.newGameState == Common.GameStatesType.LOBBYSTATE ||
                signal.newGameState == Common.GameStatesType.LOADLEVELSTATE)
            {
                PlayMusic(SoundName.gameMusic);
            }
        }
Пример #3
0
        public void OnGameStateChanged(StateChangeSignal state)
        {
            switch (state.newGameState)
            {
            case GameStatesType.PLAYERSTATE:
                if (currentUI != null)
                {
                    previousUI = currentUI;
                }
                else
                {
                    currentUI = new PlayUIController(playView);
                }
                if (currentUI.GetUIState() != GameStatesType.PLAYERSTATE)
                {
                    currentUI = new PlayUIController(playView);
                    if (previousUI != null && previousUI.GetUIState() != GameStatesType.PLAYERSTATE)
                    {
                        previousUI.DestroyUI();
                    }
                }
                break;

            case GameStatesType.GAMEOVERSTATE:
                previousUI = currentUI;
                previousUI.DestroyUI();
                currentUI = new GameOverUIController(overView);
                break;

            case GameStatesType.LEVELFINISHEDSTATE:
                previousUI = currentUI;
                previousUI.DestroyUI();
                currentUI = new LevelFinishedUIController(finishedUIView);
                break;

            case GameStatesType.LOBBYSTATE:
                previousUI = currentUI;
                if (previousUI != null)
                {
                    previousUI.DestroyUI();
                }

                currentUI = new LobbyUIController(lobbyUIView);
                break;
            }
        }