Example #1
0
        protected override void Update(GameTime gameTime)
        {
            KeyboardState keyboard = Keyboard.GetState();

            if (IsActive)
            {
                // toggle fullscreen / windowed mode with alt + enter
                if ((keyboard.IsKeyDown(Keys.LeftAlt) || keyboard.IsKeyDown(Keys.RightAlt)) &&
                    keyboard.IsKeyDown(Keys.Enter))
                {
                    if (!fullScreenButtonPressed)
                    {
                        graphics.ToggleFullScreen();
                        settings.fullScreen     = graphics.IsFullScreen;
                        fullScreenButtonPressed = true;
                    }
                }
                else
                {
                    fullScreenButtonPressed = false;
                }

                bool alternateInput = fullScreenButtonPressed;

                if (!alternateInput)
                {
                    // handle menu input
                    menu.handleInput();

                    if (!menu.active)
                    {
                        // handle player input
                        spaceShipSystem.handleInput(gameTime);
                    }
                }
            }

            // update game management systems (if menu is off)
            if (!menu.active)
            {
                projectileSystem.update(gameTime);

                spaceShipSystem.update(gameTime);

                asteroidSystem.update(gameTime);

                explosionSystem.update(gameTime);

                collisionSystem.handleCollisions();
            }

            base.Update(gameTime);
        }