Example #1
0
        public static Dir8 GetDir(this Axis8 axis, int scalar)
        {
            if (scalar == 0 & axis.Validate())
            {
                return(Dir8.None);
            }
            else
            {
                switch (axis)
                {
                case Axis8.None:
                    return(Dir8.None);

                case Axis8.Horiz:
                    return(scalar < 0 ? Dir8.Left : Dir8.Right);

                case Axis8.Vert:
                    return(scalar < 0 ? Dir8.Up : Dir8.Down);

                case Axis8.DiagBack:
                    return(scalar < 0 ? Dir8.UpLeft : Dir8.DownRight);

                case Axis8.DiagForth:
                    return(scalar < 0 ? Dir8.DownLeft : Dir8.UpRight);

                default:
                    throw new ArgumentOutOfRangeException(nameof(axis), axis, "Invalid enum value.");
                }
            }
        }