public static Direction NextDirection(Direction dir, bool directOnly = false)
{
switch (dir)
{
case Direction.Up:
if (!directOnly)
return Direction.UpRight;
else
return Direction.Right;
case Direction.UpRight:
return Direction.Right;
case Direction.Right:
if (!directOnly)
return Direction.DownRight;
else
return Direction.Down;
case Direction.DownRight:
return Direction.Down;
case Direction.Down:
if (!directOnly)
return Direction.DownLeft;
else
return Direction.Left;
case Direction.DownLeft:
return Direction.Left;
case Direction.Left:
if (!directOnly)
return Direction.UpLeft;
else
return Direction.Up;
case Direction.UpLeft:
return Direction.Up;
}
return Direction.None;
}