Exemplo n.º 1
0
            /* Commands */

            public override object VisitCmd_add_item([NotNull] scheme_langParser.Cmd_add_itemContext context)
            {
                if (context.character_name() == null)
                {
                    return(base.VisitCmd_add_item(context));
                }
                if (context.item_name() == null)
                {
                    return(base.VisitCmd_add_item(context));
                }

                string characterName = context.character_name().GetText();
                string itemName      = context.item_name().GetText();
                string itemNumber    = "1";

                VariableManager.CheckValueValidity(characterName, this, context.character_name());
                VariableManager.CheckValueValidity(itemName, this, context.item_name());

                if (context.item_number() != null)
                {
                    itemNumber = GetRegName(0);
                }

                CommandAddItem cmd = new CommandAddItem(characterName, itemNumber, itemName);

                currentFunc.AddCommand(cmd);

                if (context.item_number() != null)
                {
                    SetNewExpression(1);
                }

                return(base.VisitCmd_add_item(context));
            }