Ejemplo n.º 1
0
 public bool Overlaps(CollisionBody body)
 {
     return
         (position.X + size.X > body.position.X &&
          position.Y + size.Y > body.position.Y &&
          position.X < body.position.X + body.size.X &&
          position.Y < body.position.Y + body.size.Y);
 }
Ejemplo n.º 2
0
 public MovingPlatform(Vector2 position1, Vector2 position2, Vector2 size, float speed)
 {
     this.position1      = position1;
     this.position2      = position2;
     this.targetPosition = position2;
     this.speed          = speed;
     Body = new CollisionBody(position1, size);
 }
Ejemplo n.º 3
0
        public CollidingBody Collides(Vector2 velocity, List <IBody> bodies)
        {
            var returnVal = new CollidingBody();

            var bodyX = new CollisionBody(new Vector2(position.X + velocity.X, position.Y), size);

            foreach (var cBody in bodies)
            {
                if (bodyX.Overlaps(cBody.Body) && cBody.Body != this)
                {
                    returnVal.bodies.Add(cBody);
                    //returnVal.direction.X = Math.Sign(velocity.X);
                    if (bodyX.position.X > position.X)
                    {
                        returnVal.direction.X = 1;
                    }
                    if (bodyX.position.X < position.X)
                    {
                        returnVal.direction.X = -1;
                    }
                }
            }

            var bodyY = new CollisionBody(new Vector2(position.X, position.Y + velocity.Y), size);

            foreach (var cBody in bodies)
            {
                if (bodyY.Overlaps(cBody.Body) && cBody.Body != this)
                {
                    returnVal.bodies.Add(cBody);
                    //returnVal.direction.Y = Math.Sign(velocity.Y);
                    if (bodyY.position.Y > position.Y)
                    {
                        returnVal.direction.Y = 1;
                    }
                    if (bodyY.position.Y < position.Y)
                    {
                        returnVal.direction.Y = -1;
                    }
                }
            }

            return(returnVal);
        }
Ejemplo n.º 4
0
 public Player()
 {
     Body = new CollisionBody(new Vector2(200, -400), new Vector2(30, 90));
 }
Ejemplo n.º 5
0
 public SimpleBody(CollisionBody Body)
 {
     this.Body = Body;
 }
Ejemplo n.º 6
0
 public Platform(Vector2 position, Vector2 size)
 {
     Body = new CollisionBody(position, size);
 }
Ejemplo n.º 7
0
 public Monster(Vector2 position)
 {
     Body = new CollisionBody(position, Vector2.One * 100);
 }