예제 #1
0
        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);
        }
예제 #2
0
        public override void Tick()
        {
            long now = TimeUtility.GetLocalMilliseconds();

            if (now - LastGCTime > GCInterval)
            {
                Env_.Tick();
                LastGCTime = now;
            }
        }
예제 #3
0
 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);
         }
     }
 }
예제 #4
0
 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);
         }
     }
 }
예제 #5
0
 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);
     });
 }