Pong.PongExample.Update C# (CSharp) Method

Update() protected method

protected Update ( GameTime gameTime ) : void
gameTime Microsoft.Xna.Framework.GameTime
return void
        protected override void Update(GameTime gameTime)
        {
            var padState1 = GamePad.GetState(PlayerIndex.One);
            var padState2 = GamePad.GetState(PlayerIndex.Two);
            var keyboardState = Keyboard.GetState();

            if ((padState1.DPad.Down == ButtonState.Pressed) ||
                (keyboardState.IsKeyDown(Keys.S)))
                Paddles[0].Velocity = new Vector2(0, 4);
            else if ((padState1.DPad.Up == ButtonState.Pressed) ||
                (keyboardState.IsKeyDown(Keys.W)))
                Paddles[0].Velocity = new Vector2(0, -4);
            else
                Paddles[0].Velocity = Vector2.Zero;

            if ((padState2.DPad.Down == ButtonState.Pressed) ||
                (keyboardState.IsKeyDown(Keys.Down)))
                Paddles[1].Velocity = new Vector2(0, 4);
            else if ((padState2.DPad.Up == ButtonState.Pressed) ||
                (keyboardState.IsKeyDown(Keys.Up)))
                Paddles[1].Velocity = new Vector2(0, -4);
            else
                Paddles[1].Velocity = Vector2.Zero;

            foreach (var paddle in Paddles)
                paddle.Update();

            Ball.Update(Paddles);

            if (Ball.Position.X < Paddles[0].Bounds.TopLeft.X - 8) {
                Scores[1] += 1;
                ResetPlayfield(0);
            } else if (Ball.Position.X > Paddles[1].Bounds.BottomRight.X + 8) {
                Scores[0] += 1;
                ResetPlayfield(1);
            }

            base.Update(gameTime);
        }