using LuaInterface; public class DSLuaClient : LuaClient { LuaFunction _applicationPause; LuaFunction _applicationActive; protected override LuaFileUtils InitLoader() { if (GameApplication.Instance.buildApp) { return new LuaResLoader(); } else { return base.InitLoader(); } } protected override void OpenLibs() { LuaConst.openLuaSocket = true; base.OpenLibs(); luaState.BeginPreLoad(); luaState.RegFunction("mime.core", LuaOpen_Mime_Core); luaState.EndPreLoad(); OpenCJson(); } public void Reload(string moduleFileName) { __ReLoad(moduleFileName, "loaded"); __ReLoad(moduleFileName, "preload"); } void __ReLoad(string moduleFileName,string field) { luaState.LuaGetGlobal("package"); luaState.LuaGetField(-1, field); luaState.LuaPushString(moduleFileName); luaState.LuaGetTable(-2); if (!luaState.LuaIsNil(-1)) { luaState.LuaPushString(moduleFileName); luaState.LuaPushNil(); luaState.LuaSetTable(-4); } luaState.LuaPop(3); } protected override void OnLoadFinished() { base.OnLoadFinished(); _applicationPause = luaState.GetFunction("OnApplicationPause"); _applicationActive = luaState.GetFunction("OnApplicationActive"); } public void OnApplicationPause1() { // UnityEngine.Debug.LogError("") if (_applicationPause != null) { _applicationPause.BeginPCall(); _applicationPause.PCall(); _applicationPause.EndPCall(); } } public void OnApplicationActive() { if (_applicationActive != null) { _applicationActive.BeginPCall(); _applicationActive.PCall(); _applicationActive.EndPCall(); } } }