void SetGameState(GameState newGameState) { #if !UNITY_EDITOR Cursor.lockState = newGameState != GameState.Play ? CursorLockMode.None : CursorLockMode.Locked; #endif // Broadcast game state change, GameStateChangeEvent evt = Events.GameStateChangeEvent; evt.CurrentGameState = m_GameState; evt.NewGameState = newGameState; EventManager.Broadcast(evt); m_GameState = newGameState; }
void OnGameStateChange(GameStateChangeEvent evt) { if (evt.NewGameState == GameState.Menu) { switch (evt.CurrentGameState) { case GameState.Win: SceneManager.LoadScene(WinScene); break; case GameState.Lose: SceneManager.LoadScene(LoseScene); break; default: SceneManager.LoadScene(IntroScene); break; } } }