public static void SetEnvironment(LuaFuncRef Func, LuaReference Env) { Func.GetRef(); Env.GetRef(); LL.lua_setfenv(L, -2); LL.lua_pop(L, 1); }
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); }
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)); } }
public static LuaReference GetEnvironment(LuaFuncRef Func) { Func.GetRef(); LL.lua_getfenv(L, -1); return(new LuaReference(L)); }
public static T Run <T>(string LuaStr, params object[] Args) { using (LuaFuncRef F = Compile(LuaStr)) return(Run <T>(F, Args)); }
public static void Run(string LuaStr, params object[] Args) { using (LuaFuncRef F = Compile(LuaStr)) Run(F, Args); }
public static void Run(LuaFuncRef FuncRef, params object[] Args) { Run(FuncRef, 0, Args); }