// 動的にAddComponentした場合はこっちで呼び出す private void load_script_file(string filename) { _luaScriptFile = filename; if (LuaVM.useScriptCache) { if (_cachedScripts.ContainsKey(filename)) { _script = _cachedScripts[filename].Retain(); } } if (_script == null) { _script = new LuaScript(_lua, _luaScriptFile).Retain(); if (LuaVM.useScriptCache) { _cachedScripts[_luaScriptFile] = _script; } } _loaded = true; // _lua.NewTable(); _script.PushExportTable(_lua); _lua.SetMetaTable(-2); _lua.GetMetaTable(-1); _lua.SetField(-1, "__index"); _selfTableIndex = _lua.L_Ref(LuaDef.LUA_REGISTRYINDEX); }