Ejemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.P) || Input.GetButtonDown("Pause"))
        {
            if (GameStateMachine.currentGameMode == GameStateMachine.GameMode.singlePlayer)
            {
                if (GameStateMachine.currentGameState == GameStateMachine.State.enemyTurn || GameStateMachine.currentGameState == GameStateMachine.State.playerTurn)
                {
                    if (GameStateMachine.currentGameState != GameStateMachine.State.paused)
                    {
                        oldState = GameStateMachine.currentGameState;
                        selector.GetComponent <MenuControllerJoystick>().oldState = oldState;
                        GameStateMachine.currentGameState = GameStateMachine.State.paused;
                    }
                }
                else if (GameStateMachine.currentGameState == GameStateMachine.State.paused)
                {
                    GameStateMachine.currentGameState = oldState;
                }
            }
            else if (GameStateMachine.currentGameMode == GameStateMachine.GameMode.multiPlayer)
            {
                if (GameStateMachine.currentMPGameState == GameStateMachine.MPState.player1Turn || GameStateMachine.currentMPGameState == GameStateMachine.MPState.player2Turn)
                {
                    if (GameStateMachine.currentMPGameState != GameStateMachine.MPState.paused)
                    {
                        oldMPState = GameStateMachine.currentMPGameState;
                        selector.GetComponent <MenuControllerJoystick>().oldMPState = oldMPState;
                        GameStateMachine.currentMPGameState = GameStateMachine.MPState.paused;
                    }
                }
                else if (GameStateMachine.currentMPGameState == GameStateMachine.MPState.paused)
                {
                    GameStateMachine.currentMPGameState = oldMPState;
                }
            }
        }

        if (GameStateMachine.currentGameState == GameStateMachine.State.paused ||
            GameStateMachine.currentMPGameState == GameStateMachine.MPState.paused)
        {
            pauseScreen.SetActive(true);
        }
        else
        {
            pauseScreen.SetActive(false);
        }
        if (GameStateMachine.currentGameState == GameStateMachine.State.statScreen || GameStateMachine.currentMPGameState == GameStateMachine.MPState.statScreen)
        {
            statScreen.SetActive(true);
        }
        else
        {
            statScreen.SetActive(false);
        }

        if (GameStateMachine.currentGameState == GameStateMachine.State.gameOver && GameStateMachine.currentGameMode == GameStateMachine.GameMode.singlePlayer)
        {
            gameOverScreen.SetActive(true);
        }
        else
        {
            if (gameOverScreen != null)
            {
                gameOverScreen.SetActive(false);
            }
        }

        if (GameStateMachine.currentGameMode == GameStateMachine.GameMode.singlePlayer && GameStateMachine.currentGameState == GameStateMachine.State.gameOver)
        {
            if (Input.GetButtonDown("Accept") || Input.GetKeyDown(KeyCode.Return))
            {
                reloadLevel();
            }
        }
    }
Ejemplo n.º 2
0
 public GameStateMachine.State GetNextState(GameStateMachine.Transition transition)
 {
     GameStateMachine.State nextState = GameStateMachine.State.NoState;
     _transitions.TryGetValue(transition, out nextState);
     return(nextState);
 }