public Direction getOppositeDirection()
{
switch (this.getDirection())
{
case Direction.North: return Direction.South;
case Direction.South: return Direction.North;
case Direction.East: return Direction.West;
case Direction.West: return Direction.East;
case Direction.NorthWest: return Direction.SouthEast;
case Direction.NorthEast: return Direction.SouthWest;
case Direction.SouthWest: return Direction.NorthEast;
case Direction.SouthEast: return Direction.NorthWest;
}
return Direction.Undefined;
}