public void TogglePause() { _isGamePaused = !_isGamePaused; PauseToggled?.Invoke(_isGamePaused); // This blogpost indicated this would be the best thing to do: https://gamedevbeginner.com/the-right-way-to-pause-the-game-in-unity/ // But it doesn't seem like time.timeScale is affected by this. // So I'm using it for pausing the bird's velocity but managing my own SecondsOfGamePlay Time.timeScale = _isGamePaused ? 0 : 1f; }
internal static void SubscribeEvents() { PauseToggled.Subscribe(OnGamePauseToggled); ModeInitialized.Subscribe(OnGameModeInitialized); ModeStarted.Subscribe(OnGameModeModeStarted); LocalCarHitFinish.Subscribe(OnRaceEndLocalCarHitFinish); EnterPlayMode.Subscribe(OnLevelEditorEnterPlayMode); EnterEditorMode.Subscribe(OnLevelEditorEnterEditorMode); UninitializeOptimizations.Subscribe(OnLevelUninitializeOptimizations); }