Пример #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)
        {
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))
            {
                Exit();
            }

            float deltaTime = (float)gameTime.ElapsedGameTime.TotalSeconds;

            frameCounter.Increment();

            if (gameState.RunState == RunStateType.Running)
            {
                CheckGameState();
                world.CheckState(frameCounter);

                world.MoveCharacter(Keyboard.GetState(), deltaTime);
                world.MoveWorld();
                world.Move(deltaTime);

                world.WakeUpSleepers();
                world.RecalculateHitboxes();
                gameState.GameStatistic.Score += world.HandleCollisions(frameCounter.Frame);
            }

            base.Update(gameTime);
        }