public static Point PointByDirection(DirectionEnum dirEnum, Point start)
{
switch (dirEnum)
{
case DirectionEnum.Left:
return new Point(start.X - 1, start.Y);
case DirectionEnum.Right:
return new Point(start.X + 1, start.Y);
case DirectionEnum.Up:
return new Point(start.X, start.Y - 1);
case DirectionEnum.Down:
return new Point(start.X, start.Y + 1);
default:
throw new ArgumentOutOfRangeException(nameof(dirEnum), dirEnum, null);
}
}