예제 #1
0
        /// <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]);
        }
예제 #2
0
		/// <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];
		}