using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace RobotAndDonkey.Game.Utils; public static class DirectionExtensions { public static EDirection Opposite(this EDirection d) => Modify(d, 3); public static EDirection RotateLeft(this EDirection d) => Modify(d, 1); public static EDirection RotateRight(this EDirection d) => Modify(d, 5); public static EDirection Modify(EDirection direction, int delta) { var i = (int)direction; i += delta; i %= 6; if (i < 0) i += 6; return (EDirection)i; } }