/// <summary>
        /// Updating screens and game engine through the controllers.
        /// </summary>
        /// <param name="gameTime">GameTime object</param>
        protected override void Update(GameTime gameTime)
        {
            //Starting performance watch for update in debug mode
            _performanceTool.RecordUpdateStart(gameTime);

            //Updating keyboard & mousestate
            _inputHandler.SetKeyboardState();
            _inputHandler.SetMouseState();

            //Updating ScreenController
            _screenController.UpdateScreenSimulation((float)gameTime.ElapsedGameTime.TotalSeconds);

            if (_screenController.DoQuit)
            {
                UnloadContent();
                LoadContent();
            }

            if (_screenController.DoExit)
            {
                this.Exit();
            }

            //If the user selects full screen.
            if (_screenController.FullScreen != _graphics.IsFullScreen && !_graphics.IsFullScreen)
            {
                _graphics.PreferMultiSampling = false;
                _graphics.IsFullScreen        = true;
                _graphics.ApplyChanges();
            }
            else if (_screenController.FullScreen != _graphics.IsFullScreen && _graphics.IsFullScreen)
            {
                _graphics.IsFullScreen = false;
                _graphics.ApplyChanges();
            }
            //Updating the game enging via the GameController if no screen is active.
            if (!_screenController.IsShowingExternalScreen() && !_screenController.IsShowingPauseScreen)
            {
                _gameController.UpdateSimulation((float)gameTime.ElapsedGameTime.TotalSeconds);
            }

            base.Update(gameTime);

            //Ending performance watch for update in debug mode
            _performanceTool.RecordUpdateEnd(gameTime);
        }
예제 #2
0
        protected override void Update(GameTime a_gameTime)
        {
            //Uppdaterar keyboar & mousestate
            m_inputHandler.SetKeyboardState();
            m_inputHandler.SetMouseState();

            //Uppdaterar ScreenController
            m_screenController.UpdateScreenSimulation((float)a_gameTime.ElapsedGameTime.TotalSeconds);

            if (m_screenController.DoQuit)
            {
                UnloadContent();
                LoadContent();
            }

            if (m_screenController.DoExit)
            {
                this.Exit();
            }

            //Om anv begär fullskärm
            if (m_screenController.FullScreen != m_graphics.IsFullScreen && !m_graphics.IsFullScreen)
            {
                m_graphics.PreferMultiSampling = false;
                m_graphics.IsFullScreen        = true;
                m_graphics.ApplyChanges();
            }
            else if (m_screenController.FullScreen != m_graphics.IsFullScreen && m_graphics.IsFullScreen)
            {
                m_graphics.IsFullScreen = false;
                m_graphics.ApplyChanges();
            }
            //Uppdaterar spelmotorn via GameController om ingen extern skärm skall visas
            if (!m_screenController.IsShowingExternalScreen() && !m_screenController.IsShowingPauseScreen)
            {
                m_gameController.UpdateSimulation((float)a_gameTime.ElapsedGameTime.TotalSeconds);
            }

            base.Update(a_gameTime);
        }
예제 #3
0
        protected override void Update(GameTime a_gameTime)
        {
            //Starting performance watch for update in debug mode (Debug-tool)
            //m_performanceTool.RecordUpdateStart(a_gameTime);

            //Setting keyboard, gamepad and mouse states
            m_inputHandler.SetKeyboardState();
            m_inputHandler.SetMouseState();

            //Allows the game to exit
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
            {
                this.Exit();
            }

            //Updating the Game Controller
            m_gameController.UpdateSimulation((float)a_gameTime.ElapsedGameTime.TotalSeconds);

            base.Update(a_gameTime);

            //Ending performance watch for update in debug mode (Debug-tool)
            //m_performanceTool.RecordUpdateEnd(a_gameTime);
        }