コード例 #1
0
ファイル: Game.cs プロジェクト: dkorni/xrigidproject
        private void OnStateChanged(GameState state)
        {
            Debug.Log(state);

            switch (state)
            {
            case GameState.Lobby:
                DOVirtual.DelayedCall(0.3f,
                                      () => State.Value = GameState.RoundPrepare);

                // disable physics btw coins, slingshot and stickmen
                Physics.IgnoreLayerCollision(9, 10);
                Physics.IgnoreLayerCollision(10, 11);

                break;

            case GameState.RoundPrepare:
                m_level          = m_levelContainer.CurrentLevel;
                m_enemyContainer = m_level.EnemyContainer;

                // m_player.ToggleInput(false);
                m_enemyContainer.DeactivateAll();
                m_lockerController.IsLockerSafe.Value = true;

                break;

            case GameState.Round:
                GameAnalytics.NewProgressionEvent(GAProgressionStatus.Start, "Game",
                                                  m_levelContainer.CurrentLevel.name);
                m_enemyContainer.ActivateAll();
                m_player.ToggleInput(true);
                break;

            case GameState.Win:
                GameAnalytics.NewProgressionEvent(GAProgressionStatus.Complete, "Game",
                                                  m_levelContainer.CurrentLevel.name);
                m_enemyContainer.DeactivateAll();
                m_player.ToggleInput(false);
                break;

            case GameState.Fail:
                GameAnalytics.NewProgressionEvent(GAProgressionStatus.Fail, "Game",
                                                  m_levelContainer.CurrentLevel.name);
                m_enemyContainer.DeactivateAll();
                break;
            }
        }