Ejemplo n.º 1
0
 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--;
     }
 }
Ejemplo n.º 2
0
        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();
                    }
                }
            }
        }
Ejemplo n.º 3
0
 private void PauseMenuFunction(ref GameStates gameState, ref bool paused)
 {
     _fader.FadeOut(GameStates.Menu);
     paused = true;
 }