private LuaMgr() { Env = LuaAPI.NewState(); Env.L_OpenLibs(); Env.L_RequireF(LuaTriggerLib.LIB_NAME, LuaTriggerLib.OpenLib, false); Env.L_RequireF(LuaControllerLib.LIB_NAME, LuaControllerLib.OpenLib, false); Env.L_RequireF(LuaDebugLib.LIB_NAME, LuaDebugLib.OpenLib, false); }
private int StoreMethod(UniLua.ILuaState env, string name) { env.GetField(-1, name); if (!env.IsFunction(-1)) { throw new Exception(string.Format("method {0} not found!", name)); } return(env.L_Ref(LuaDef.LUA_REGISTRYINDEX)); }
private int Traceback(UniLua.ILuaState luaState) { if (luaState.IsNoneOrNil(1)) { if (!luaState.L_CallMeta(1, "__tostring")) { luaState.PushString("(no error message)"); } } else { string message = luaState.ToString(1); if (message != null) { luaState.L_Traceback(luaState, message, 1); } } return(1); }