public void UpdatePauseMenuLogic(ref GameStates gameState, ref bool paused) { // might want to change the frame counter for this if (_frameCounter == 0) { if (_inputHandler.IsFunctionReady(ControlFunctions.Pause)) { _fader.FadeOut(GameStates.Roam); } } else { _frameCounter--; } }
public void UpdateGameLogic() { // i guess fading holds a higher priority than spinning because you technically want to fade to spin if (_fader.Fading) { _fader.ContinueFade(ref _queuedUpState); return; } if (_spinner.Spinning) { _spinner.ContinueSpin(ref _queuedUpState); return; } _gameState = _queuedUpState; if (_fader.QueuedFadeIn) { _fader.FadeIn(); // clear the inputs, i know this is kind of ghetto _inputHandler.ClearInputs(); } if (_gameState == GameStates.StartMenu) { _player.Region = RegionNames.Test1; _camera.Region = RegionNames.Test1; _player.Position = new Vector2(100, 1800); _camera.Position = new Vector2(650, 1660); _player.UpdateWeaponAnchorPositions(); _player.EquipStartingWeapon(0); _resourceManager.LoadAssets(new RegionLoadMessage() { RegionsToLoad = new List <RegionNames>() { RegionNames.Test1, RegionNames.Test2 }, RegionsToUnload = new List <RegionNames>() }); _fader.FadeOut(); _spinner.BeginSpin(GameStates.Roam, RegionNames.Test1); } else if (_gameState == GameStates.ExitMenu) { _menuLogicHandler.UpdateExitMenuLogic(ref _queuedUpState, ref _paused); } else if (_gameState == GameStates.Menu) { _menuLogicHandler.UpdatePauseMenuLogic(ref _queuedUpState, ref _paused); } else if (_gameState == GameStates.Roam) { lock (_resourceManager.Loading.Sync) { _roamLogicHandler.UpdateRoamLogic(ref _queuedUpState, ref _paused); if (_paused) { _menuLogicHandler.EnterMenu(); } } } }
private void PauseMenuFunction(ref GameStates gameState, ref bool paused) { _fader.FadeOut(GameStates.Menu); paused = true; }