/// <summary> /// Rotate the team /// </summary> /// <param name="direction">Initial direction</param> /// <param name="rot">Rotation needed</param> /// <returns>Final direction</returns> static public CardinalPoint Rotate(CardinalPoint direction, CompassRotation rot) { CardinalPoint[][] points = new CardinalPoint[][] { // North new CardinalPoint[] { CardinalPoint.East, CardinalPoint.South, CardinalPoint.West, CardinalPoint.North, }, // South new CardinalPoint[] { CardinalPoint.West, CardinalPoint.North, CardinalPoint.East, CardinalPoint.South, }, // West new CardinalPoint[] { CardinalPoint.North, CardinalPoint.East, CardinalPoint.South, CardinalPoint.West, }, // East new CardinalPoint[] { CardinalPoint.South, CardinalPoint.West, CardinalPoint.North, CardinalPoint.East, }, }; return(points[(int)direction][(int)rot]); }
/// <summary> /// Rotate the team /// </summary> /// <param name="direction">Initial direction</param> /// <param name="rot">Rotation needed</param> /// <returns>Final direction</returns> static public CardinalPoint Rotate(CardinalPoint direction, CompassRotation rot) { CardinalPoint[][] points = new CardinalPoint[][] { // North new CardinalPoint[] { CardinalPoint.East, CardinalPoint.South, CardinalPoint.West, CardinalPoint.North, }, // South new CardinalPoint[] { CardinalPoint.West, CardinalPoint.North, CardinalPoint.East, CardinalPoint.South, }, // West new CardinalPoint[] { CardinalPoint.North, CardinalPoint.East, CardinalPoint.South, CardinalPoint.West, }, // East new CardinalPoint[] { CardinalPoint.South, CardinalPoint.West, CardinalPoint.North, CardinalPoint.East, }, }; return points[(int)direction][(int)rot]; }