Example #1
0
        public static bool FunctionInvoke(Block block, ref int index, out string name, out Arguments arguments)
        {
            name      = null;
            arguments = null;

            var checker = new LimitChecker(index, block);

            if (checker.Exceeds(index, out var verb))
            {
                return(false);
            }

            if (PushVariable(verb, out name))
            {
                if (checker.Exceeds(ref index, out verb))
                {
                    return(false);
                }

                if (verb is Invoke invoke)
                {
                    arguments = invoke.Arguments;
                    return(true);
                }
            }

            checker.Revert(out index);
            return(false);
        }
Example #2
0
 // returns false if given step is not allowed
 private bool GetLimit(GameTrace gameTrace)
 {
     gameTrace.y = 14 - gameTrace.y;
     return(LimitChecker.player_limit(GameToJson(), JsonConvert.SerializeObject(gameTrace)));
 }