public Base6Directions.Direction TransformDirection(Base6Directions.Direction baseDirection)
{
Base6Directions.Axis axis = Base6Directions.GetAxis(baseDirection);
int flip = ((int)baseDirection % 2);
if (axis == Base6Directions.Axis.ForwardBackward)
{
return flip == 1 ? Base6Directions.GetFlippedDirection(Forward) : Forward;
}
if (axis == Base6Directions.Axis.LeftRight)
{
return flip == 1 ? Base6Directions.GetFlippedDirection(Left) : Left;
}
Debug.Assert(axis == Base6Directions.Axis.UpDown, "Axis invalid in MyBlockOrientation");
return flip == 1 ? Base6Directions.GetFlippedDirection(Up) : Up;
}