public static IEnumerable <HexFacing> CompassTurnCCW(this HexFacing facing, HexFacing final) { HexFacing current = facing; while (current != final) { yield return(current); current = current.Apply(HexRotation.CCW); } yield return(final); }
public static IEnumerable <HexFacing> CompassTurnCW(this HexFacing facing, HexRotation rot) { return(facing.CompassTurnCW(facing.Apply(rot))); }
public static HexFacing Rotate(this HexFacing facing, int CWcount) { return(facing.Apply(new HexRotation(CWcount))); }