Example #1
0
 /// <summary>
 /// 将函数对象和参数压入栈顶,返回函数参数个数
 /// </summary>
 /// <param name="a"></param>
 /// <param name="b"></param>
 /// <returns></returns>
 private int PushArgAndFunc(int a, int b)
 {
     if (b >= 1)
     {
         for (int i = a; i < a + b; i++)
         {
             luaState.PushValueFromIndex(i);
         }
         return(b - 1);
     }
     // b = 0,代表参数从R(A+1)一直到栈顶
     else
     {
         int stackTop = luaState.GetStackTop();
         for (int i = a; i < a + stackTop; i++)
         {
             luaState.PushValueFromIndex(i);
         }
         //参数就是从栈顶一直到R(A + 1)
         return(luaState.GetStackTop() - luaState.RegsiterCount() - 1);
     }
 }