Ejemplo n.º 1
0
        public void Handle(PaddleMoved message)
        {
            var paddle = _level.Paddle;
            var walls  = _level.Walls;

            if (walls.Any(wall => paddle.Boundings.Intersects(wall.Boundings)))
            {
                var wall = walls.First(w => paddle.Boundings.Intersects(w.Boundings));

                var paddleBoundingsLastFrame = new Rectangle.Rectangle(paddle.Boundings.X - paddle.Velocity.X,
                                                                       paddle.Boundings.Y - paddle.Velocity.Y, paddle.Boundings.Width, paddle.Boundings.Height);

                var collisionPenetration = CollisionPenetration(wall.Boundings, paddle.Boundings,
                                                                paddleBoundingsLastFrame);

                paddle.Position -= collisionPenetration.Depth;
                paddle.Velocity  = Vector2.Zero;
            }
        }
Ejemplo n.º 2
0
 public void Init()
 {
     _target = new Rectangle.Rectangle(2, 3);
 }