BatchFlow.AsciiArt.CharFits C# (CSharp) Метод

CharFits() приватный статический Метод

private static CharFits ( char found, Position direction ) : Position.Direction
found char
direction Position
Результат Position.Direction
        private static Position.Direction CharFits(char found, Position.Direction direction)
        {
            if (found == '+' || found == '#')
            {
                switch (direction)
                {
                    case Position.Direction.North:
                        return Position.Direction.East | Position.Direction.West | Position.Direction.North;
                    case Position.Direction.East:
                        return Position.Direction.North | Position.Direction.East | Position.Direction.South;
                    case Position.Direction.South:
                        return Position.Direction.East | Position.Direction.West | Position.Direction.South;
                    case Position.Direction.West:
                        return Position.Direction.West | Position.Direction.North | Position.Direction.South;
                    default: return Position.Direction.None;
                }
            }
            if (found == '|')
            {
                switch (direction)
                {
                    case Position.Direction.North:
                        return Position.Direction.North;
                    case Position.Direction.South:
                        return Position.Direction.South;
                    default:
                        return Position.Direction.None;
                }
            }
            if (found == '-')
            {
                switch (direction)
                {
                    case Position.Direction.East:
                        return Position.Direction.East;
                    case Position.Direction.West:
                        return Position.Direction.West;
                    default:
                        return Position.Direction.None;
                }
            }
            if (found >= 'a' && found <= 'z')
            {
                return direction;
            }
            if (found >= '0' && found <= '9')
            {
                return direction;
            }
            return Position.Direction.None;
        }