public override object SetupNewEnv(string scriptEnv) { LuaTable table = Env_.NewTable(); LuaTable metaTable = Env_.NewTable(); metaTable.Set("__index", Env_.Global); table.SetMetaTable(metaTable); metaTable.Dispose(); return(table); }
public override void Tick() { long now = TimeUtility.GetLocalMilliseconds(); if (now - LastGCTime > GCInterval) { Env_.Tick(); LastGCTime = now; } }
public override void ExecuteFile(string file, object extra = null, string chunk = "default") { if (file != null) { // no check // if (extra is LuaTable) { Env_.DoString("require " + "\"" + file + "\"", chunk, extra as LuaTable); } } }
public override void ExecuteBuffer(string scriptData, object extra = null, string chunk = "default") { if (scriptData != null) { // no check // if (extra is LuaTable) { Env_.DoString(scriptData, chunk, extra as LuaTable); } } }
public override void Init(ScriptManager.CustomLoaderDelegate func, string luaDebuggerPath = "") { NativeObject = Env_; LuaScriptPathForDebugger = luaDebuggerPath; Env_.AddLoader(( ref string file ) => { if (func != null) { return(func(ref file)); } return(null); }); }