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); } } }
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)); } }
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); }