// 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(); } } }
public GameStateMachine.State GetNextState(GameStateMachine.Transition transition) { GameStateMachine.State nextState = GameStateMachine.State.NoState; _transitions.TryGetValue(transition, out nextState); return(nextState); }