//--------------------------------------------------------------------------------------------------------------------- void UpdateState(GameState newState) { if (m_currentGameState == newState) { return; } //[TODO-sin: 2019-10-8] Can we make this game state handling into an interface ? switch (newState) { case GameState.PREGAME: { Time.timeScale = 1.0f; break; } case GameState.RUNNING: { Time.timeScale = 1.0f; break; } case GameState.PAUSED: { //[TODO-sin: 2019-10-9] I think this will also stop UI animation. Need to check/do something else Time.timeScale = 0.0f; break; } default: break; } //Dispatch events GameState prevState = m_currentGameState; m_currentGameState = newState; OnGameStateChangedEvent.Invoke(newState, prevState); }
/*public static GamesManager GetInstance() * { * if (instance == null) * { * instance = new GamesManager(); * } * return instance; * }*/ public static void OnGameStateChanged(string code, GameState state) { OnGameStateChangedEvent.Invoke(null, new GameStateChangedEventArgs { LobbyCode = code, NewState = state }); }