Example #1
0
 public static void SetEnvironment(LuaFuncRef Func, LuaReference Env)
 {
     Func.GetRef();
     Env.GetRef();
     LL.lua_setfenv(L, -2);
     LL.lua_pop(L, 1);
 }
Example #2
0
        public static T Run <T>(LuaFuncRef FuncRef, params object[] Args)
        {
            int Top = GetTop();

            Run(FuncRef, 1, Args);
            T Ret = (T)Advanced.Get(L, 1, typeof(T));

            SetTop(Top);
            return(Ret);
        }
Example #3
0
        static void Run(LuaFuncRef FuncRef, int ReturnValues, object[] Args)
        {
            FuncRef.GetRef();

            for (int i = 0; i < Args.Length; i++)
            {
                Advanced.Push(L, Args[i]);
            }

            if (LL.lua_pcall(L, Args.Length, ReturnValues, 0) != 0)
            {
                throw new Exception(LL.lua_tostring(L, -1));
            }
        }
Example #4
0
 public static LuaReference GetEnvironment(LuaFuncRef Func)
 {
     Func.GetRef();
     LL.lua_getfenv(L, -1);
     return(new LuaReference(L));
 }
Example #5
0
 public static T Run <T>(string LuaStr, params object[] Args)
 {
     using (LuaFuncRef F = Compile(LuaStr))
         return(Run <T>(F, Args));
 }
Example #6
0
 public static void Run(string LuaStr, params object[] Args)
 {
     using (LuaFuncRef F = Compile(LuaStr))
         Run(F, Args);
 }
Example #7
0
 public static void Run(LuaFuncRef FuncRef, params object[] Args)
 {
     Run(FuncRef, 0, Args);
 }