public string Visit(ChangeColorExpression e) { string input = e.Input; RichTextBox.AppendText($"{e.Input.Substring(7, e.Input.Length - 7).TrimEnd('\0')}\r\n", Color.Yellow); return(""); }
public ChatController(RichTextBox output, TextBox input) { Output = output; Input = input; BoldFont = new Font(Output.Font, FontStyle.Bold); NormalFont = new Font(Output.Font, FontStyle.Regular); ItalicFont = new Font(Output.Font, FontStyle.Italic); NormalColor = Output.SelectionColor; ErrorColor = Color.Red; InfoColor = Color.FromArgb(50, 50, 50); RedVisitor = new RedExpressionVisitor(output); BlueVisitor = new BlueExpressionVisitor(output); GreenVisitor = new GreenExpressionVisitor(output); YellowVisitor = new YellowExpressionVisitor(output); PurpleVisitor = new PurpleExpressionVisitor(output); FixFormatExpression textExpr = new FixFormatExpression( new AggregateExpression(new List <IChatExpression>() { new ReplaceExpression(":smile:", "😃"), new ReplaceExpression(":D", "😄"), new ReplaceExpression(":grinning:", "😁"), new ReplaceExpression(":anime:", "😆"), new ReplaceExpression(":embarrased", "😅"), new ReplaceExpression(":rofl:", "🤣"), new ReplaceExpression(":crying:", "😂"), new ReplaceExpression(":)", "🙂"), new ReplaceExpression("(:", "🙃"), new ReplaceExpression(":upsidesmile:", "🙃"), new ReplaceExpression(":wink:", "😉"), new ReplaceExpression(":blush:", "😊"), new ReplaceExpression(":halo:", "😇"), }) ); CommandExpression cmdExpr = new CommandExpression(); ChangeColorExpression clrExpr = new ChangeColorExpression(); TextInterpreter = new ParserExpression(clrExpr, cmdExpr, textExpr); Originator = new ChatOriginator(); Caretaker = new ChatCaretaker(); }