ported from perforce
This commit is contained in:
25
RobotAndDonkey.Game/Utils/DirectionExtensions.cs
Normal file
25
RobotAndDonkey.Game/Utils/DirectionExtensions.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user