示例#1
0
        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("");
        }
示例#2
0
        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();
        }