Ejemplo n.º 1
0
        private CollisionHandler.Direction getMinorDirection(CollisionHandler.Direction d)
        {
            float myX     = this.CollisionRect().Value.Center.X;
            float myY     = this.CollisionRect().Value.Center.Y;
            float playerX = player.CollisionRect().Value.Center.X;
            float playerY = player.CollisionRect().Value.Center.Y;

            if (d == CollisionHandler.Direction.North || d == CollisionHandler.Direction.South)
            {
                if (playerX - myX > 0)
                {
                    return(CollisionHandler.Direction.West);
                }
                else
                {
                    return(CollisionHandler.Direction.East);
                }
            }
            else
            {
                if (playerY - myY > 0)
                {
                    return(CollisionHandler.Direction.North);
                }
                else
                {
                    return(CollisionHandler.Direction.South);
                }
            }
        }
Ejemplo n.º 2
0
        private float getDistance(CollisionHandler.Direction d)
        {
            float myX     = this.CollisionRect().Value.Center.X;
            float myY     = this.CollisionRect().Value.Center.Y;
            float playerX = player.CollisionRect().Value.Center.X;
            float playerY = player.CollisionRect().Value.Center.Y;

            if (d == CollisionHandler.Direction.North || d == CollisionHandler.Direction.South)
            {
                return(Math.Abs(myY - playerY));
            }
            else
            {
                return(Math.Abs(myX - playerX));
            }
        }
Ejemplo n.º 3
0
        public static CollisionHandler.Direction oppDirection(CollisionHandler.Direction d)
        {
            switch (d)
            {
            case CollisionHandler.Direction.North:
                return(CollisionHandler.Direction.South);

            case CollisionHandler.Direction.South:
                return(CollisionHandler.Direction.North);

            case CollisionHandler.Direction.West:
                return(CollisionHandler.Direction.East);

            case CollisionHandler.Direction.East:
                return(CollisionHandler.Direction.West);
            }
            return(CollisionHandler.Direction.North);
        }