Ejemplo n.º 1
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();
        }
Ejemplo n.º 2
0
 public FixFormatExpression(IChatExpression expression)
 {
     Expression = expression;
 }
Ejemplo n.º 3
0
 public ParserExpression(IChatExpression colorExpression, IChatExpression commandExpression, IChatExpression textExpression)
 {
     ColorExpression   = colorExpression;
     CommandExpression = commandExpression;
     TextExpression    = textExpression;
 }