Example #1
0
        public static Direction Convert(this RSIDirection dir)
        {
            switch (dir)
            {
            case RSIDirection.South:
                return(Direction.South);

            case RSIDirection.North:
                return(Direction.North);

            case RSIDirection.East:
                return(Direction.East);

            case RSIDirection.West:
                return(Direction.West);

            case RSIDirection.SouthEast:
                return(Direction.SouthEast);

            case RSIDirection.SouthWest:
                return(Direction.SouthWest);

            case RSIDirection.NorthEast:
                return(Direction.NorthEast);

            case RSIDirection.NorthWest:
                return(Direction.NorthWest);
            }

            throw new ArgumentException($"Unknown RSI dir: {dir}.", nameof(dir));
        }
Example #2
0
        /// <summary>
        /// 'Rounds' a diagonal direction down to a cardinal direction
        /// </summary>
        /// <param name="dir">The direction to round</param>
        /// <returns><paramref name="dir"/> if it's a cardinal direction, otherwise either north or
        /// south.</returns>
        public static RSIDirection RoundToCardinal(this RSIDirection dir)
        {
            switch (dir)
            {
            case RSIDirection.NorthEast:
            case RSIDirection.NorthWest:
                return(RSIDirection.North);

            case RSIDirection.SouthEast:
            case RSIDirection.SouthWest:
                return(RSIDirection.South);

            default:
                return(dir);
            }
        }