Bot.Big.FormCharLine C# (CSharp) Method

FormCharLine() private method

private FormCharLine ( char input, int line, bool isRainbow ) : string
input char
line int
isRainbow bool
return string
        private string FormCharLine(char input, int line, bool isRainbow)
        {
            StringBuilder output = new StringBuilder();
            string code = GetCharMap(input).Split(new[] {'.'})[line];
            int flip = 1;
            bool holdColour = false;

            //edge case of no colour in a line, bump the colour up one anyway
            if ((code.Length < 2) && (input != (char)32) && (input != (char)160))
                WrapTextInColour(string.Empty, false);

            foreach (char repeat in code) {
                int repeatNum = (int)char.GetNumericValue(repeat);
                flip *= -1;

                if ((flip > 0) && (input != (char)32) && (input != (char)160)) {
                    if (isRainbow)
                    {
                        output.Append(WrapTextInColour(new String((char)160, repeatNum), holdColour));
                        holdColour = true;
                    }
                    else
                    {
                        output.Append((char)22);
                        output.Append((char)160, repeatNum);
                        output.Append((char)22);
                    }
                }
                else {

                    output.Append((char) 160, repeatNum);
                }

            }

            return output.ToString();
        }