Пример #1
0
 /// <summary>
 /// 引数をローカル変数として定義する
 /// </summary>
 public void RegistArgsToLocalVar(NakoVariableManager globalVar)
 {
     for (int i = 0; i < func.args.Count; i++)
     {
         NakoFuncArg             arg = func.args[i];
         NakoPlugin.NakoVariable var = new NakoPlugin.NakoVariable();
         if (arg.type != null)
         {
             //引数が関数定義の場合
             if (arg.type == NakoFuncType.UserCall.ToString())
             {
                 NakoFunc userFunc = new NakoFunc();
                 userFunc.funcType = NakoFuncType.UserCall;
                 for (int j = 0; j < (int)arg.defaultValue; j++)
                 {
                     userFunc.args.Add(new NakoFuncArg());
                 }
                 NakoNodeDefFunction funcNode = new NakoNodeDefFunction();
                 funcNode.func     = userFunc;
                 funcNode.funcBody = new NakoNode();
                 var.SetBody(funcNode, NakoPlugin.NakoVarType.UserFunc);
             }
             else
             {
                 //引数がインスタンスの場合
                 var.SetBody(null, NakoPlugin.NakoVarType.Instance);
                 var.InstanceType = arg.type;
             }
         }
         localVar.CreateVar(arg.name, var);
     }
 }
Пример #2
0
 /// <summary>
 /// 引数をローカル変数として定義する
 /// </summary>
 public void RegistArgsToLocalVar(NakoVariableManager globalVar)
 {
     for (int i = 0; i < func.args.Count; i++)
     {
         NakoFuncArg             arg = func.args[i];
         NakoPlugin.NakoVariable var = new NakoPlugin.NakoVariable();
         if (arg.type != null)
         {
             var.SetBody(null, NakoPlugin.NakoVarType.Instance);
             var.InstanceType = arg.type;
         }
         localVar.CreateVar(arg.name, var);
     }
 }