Example #1
0
 /*
  * Calls the provided function with the provided parameters
  */
 public static object callFunction(LuaFunction function,object[] args,Type[] returnTypes,object[] inArgs,int[] outArgs)
 {
     // args is the return array of arguments, inArgs is the actual array
     // of arguments passed to the function (with in parameters only), outArgs
     // has the positions of out parameters
     object returnValue;
     int iRefArgs;
     object[] returnValues=function.call(inArgs,returnTypes);
     if(returnTypes[0] == typeof(void))
     {
         returnValue=null;
         iRefArgs=0;
     }
     else
     {
         returnValue=returnValues[0];
         iRefArgs=1;
     }
     for(int i=0;i<outArgs.Length;i++)
     {
         args[outArgs[i]]=returnValues[iRefArgs];
         iRefArgs++;
     }
     return returnValue;
 }
 public static object callFunction(LuaFunction function, object[] args, Type[] returnTypes, object[] inArgs, int[] outArgs)
 {
     object obj2;
     int num;
     object[] objArray = function.call(inArgs, returnTypes);
     if (returnTypes[0] == typeof(void))
     {
         obj2 = null;
         num = 0;
     }
     else
     {
         obj2 = objArray[0];
         num = 1;
     }
     for (int i = 0; i < outArgs.Length; i++)
     {
         args[outArgs[i]] = objArray[num];
         num++;
     }
     return obj2;
 }
Example #3
0
 public void handleEvent(object sender, object data)
 {
     handler.call(new object[] { sender, data }, new Type[0]);
 }