예제 #1
0
        /// <summary>
        /// Allows the game to run logic such as updating the world,
        /// checking for collisions, gathering input, and playing audio.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Update(GameTime gameTime)
        {
            mouseState    = Mouse.GetState();
            keyboardState = Keyboard.GetState();

            if (keyboardState != oldKeyboardState)
            {
                //import config-data
                if (keyboardState.IsKeyDown(Keys.I))
                {
                    session.LoadGameValues();
                }
                //reload map/game
                else if (keyboardState.IsKeyDown(Keys.R))
                {
                    session = new Classes.Session(graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight);
                }
                else if (keyboardState.IsKeyDown(Keys.OemPlus) || keyboardState.IsKeyDown(Keys.Add))
                {
                    Globals.tile_stretch_factor++;

                    if (Globals.tile_stretch_factor > 5)
                    {
                        Globals.tile_stretch_factor = 5;
                    }
                }
                else if (keyboardState.IsKeyDown(Keys.OemMinus) || keyboardState.IsKeyDown(Keys.Subtract))
                {
                    Globals.tile_stretch_factor--;

                    if (Globals.tile_stretch_factor < 1)
                    {
                        Globals.tile_stretch_factor = 1;
                    }
                }
                else if (keyboardState.IsKeyDown(Keys.P))
                {
                    paused = !paused;
                    session.Pause();
                }
            }

            oldKeyboardState = keyboardState;
            oldMouseState    = mouseState;

            if (!paused)
            {
                session.Update(keyboardState, mouseState, gameTime);
            }

            base.Update(gameTime);
        }