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(); }
public FixFormatExpression(IChatExpression expression) { Expression = expression; }
public ParserExpression(IChatExpression colorExpression, IChatExpression commandExpression, IChatExpression textExpression) { ColorExpression = colorExpression; CommandExpression = commandExpression; TextExpression = textExpression; }