public void LoadLuaString(bool isAssetBundle, string dirType, string scriptName, string scriptPath) { #if HOTFIX_ENABLE scriptEnv = UIManager.luaenv.NewTable(); XLua.LuaTable meta = UIManager.luaenv.NewTable(); meta.Set("__index", UIManager.luaenv.Global); scriptEnv.SetMetaTable(meta); meta.Dispose(); scriptEnv.Set("self", this); if (dirType == "Resources") { TextAsset luaStr = Resources.Load <TextAsset>(scriptPath); if (luaStr != null) { UIManager.luaenv.DoString(luaStr.text, "LuaUIBehaviour", scriptEnv); } else { Debug.Log(scriptPath + "is null!"); } } else if (dirType == "streamingAssetsPath") { #if UNITY_ANDROID && !UNITY_EDITOR string str = UIFactory.GetAndoidStreamingAssetLuaScripts(scriptName); if (!string.IsNullOrEmpty(str)) { UIManager.luaenv.DoString(str, "LuaUIBehaviour", scriptEnv); } else { Debug.Log(scriptPath + "is null!"); } #else LoadLuaScript(isAssetBundle, dirType, scriptName, scriptPath); #endif } else { LoadLuaScript(isAssetBundle, dirType, scriptName, scriptPath); } scriptEnv.Get("uiFormType", out _luaUiFormType); scriptEnv.Get("OnInit", out luaOnInit); scriptEnv.Get("OnExcute", out luaOnExcute); scriptEnv.Get("OnDisplay", out luaOnDisplay); scriptEnv.Get("OnHide", out luaOnHide); scriptEnv.Get("OnReDisplay", out luaOnReDisplay); scriptEnv.Get("OnFreese", out luaOnFreese); scriptEnv.Get("OnRelease", out luaOnRelease); #endif }