Exemple #1
0
        public void TestClicks()
        {
            Cursor.Vector = new System.Windows.Vector(0, 0);
            Click click = new Click(
                new IntTuple(546, 22), new IntTuple(234, 4), ButtonType.MIDDLE, MovementType.SPRING,
                new IntTuple(789, 43), new IntTuple(34, 342), new DoubleTuple(4.2, 3.9),
                true, true, true);

            AutoClickerParser parser = SetUp(click.ToString());

            AutoClickerParser.InstructionsContext context = parser.instructions();
            AutoClickerVisitor visitor = new AutoClickerVisitor();
            Click parsed = (Click)((List <AutoClicker.Instructions.Instruction>)visitor.Visit(context))[0];

            Assert.Equal(click, parsed);
        }
        public void ParseTest()
        {
            string input = testClick.ToString() + "\n";

            input += testHover.ToString() + "\n";
            input += testDrag.ToString() + "\n";
            input += testKeystroke.ToString() + "\n";

            AutoClickerParser parser = SetUp(input.ToString());

            AutoClickerParser.InstructionsContext context = parser.instructions();
            AutoClickerVisitor visitor = new AutoClickerVisitor();
            List <Instructions.Instruction> instructions = (List <Instructions.Instruction>)visitor.Visit(context);

            Assert.IsTrue(instructions.Contains(testClick));
            Assert.IsTrue(instructions.Contains(testHover));
            Assert.IsTrue(instructions.Contains(testDrag));
            Assert.IsTrue(instructions.Contains(testKeystroke));
        }
Exemple #3
0
        /// <summary>
        /// Visit a parse tree produced by <see cref="M:AutoClicker.AutoClickerParser.instructions" />.
        /// <para>
        /// The default implementation returns the result of calling <see cref="M:Antlr4.Runtime.Tree.AbstractParseTreeVisitor`1.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)" />
        /// on <paramref name="context" />.
        /// </para>
        /// </summary>
        /// <param name="context">The parse tree.</param>
        /// <returns></returns>
        /// <return>The visitor result.</return>
        public override List <Instructions.Instruction> VisitInstructions([NotNull] AutoClickerParser.InstructionsContext context)
        {
            AutoClickerInstructionVisitor instructionVisitor = new AutoClickerInstructionVisitor();

            List <Instruction> instructions = new List <Instruction>();

            foreach (var instruction in context.instruction())
            {
                try
                {
                    instructions.Add(instructionVisitor.Visit(instruction));
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }

            return(instructions);
        }
        /// <summary>
        /// Parses the specified input.
        /// </summary>
        /// <param name="input">The input.</param>
        /// <returns></returns>
        public static List <Instruction> Parse(string input, GlobalData globalData = null)
        {
            AntlrInputStream inputStream = new AntlrInputStream(input);

            AutoClickerLexer  lexer             = new AutoClickerLexer(inputStream);
            CommonTokenStream commonTokenStream = new CommonTokenStream(lexer);
            AutoClickerParser parser            = new AutoClickerParser(commonTokenStream);

            AutoClickerParser.InstructionsContext context = parser.instructions();
            AutoClickerInstructionsVisitor        visitor = new AutoClickerInstructionsVisitor();

            List <Instruction> instructions = visitor.Visit(context);

            if (globalData != null)
            {
                foreach (var instruction in instructions)
                {
                    instruction.GlobalData = globalData;
                }
            }

            return(instructions);
        }