static List <Info> CreateInfo(string path) { List <Info> infos = new List <Info>(); try { var pkg = UIPackage.AddPackage(path); var items = pkg.GetItems(); foreach (var item in items) { GComponent gcomp = pkg.CreateObject(item.name).asCom; Info info = new Info(); info.ClassName = string.Format("UI.{0}.{1}", pkg.name, item.name); CollectUIElements(item.name, gcomp, info); if (info.Fields.Count > 0) { infos.Add(info); } } } catch (Exception e) { UIPackage.RemoveAllPackages(); Debug.LogError(e.Message + "\n" + e.StackTrace); } return(infos); }
public static void LoadPackages() { if (Application.isPlaying || _loaded) { return; } #if !UNITY_5 EditorApplication.update -= EditorApplication_Update; EditorApplication.update += EditorApplication_Update; #endif _loaded = true; UIPackage.RemoveAllPackages(); FontManager.Clear(); NTexture.DisposeEmpty(); string[] ids = AssetDatabase.FindAssets("@sprites t:textAsset"); int cnt = ids.Length; for (int i = 0; i < cnt; i++) { string assetPath = AssetDatabase.GUIDToAssetPath(ids[i]); int pos = assetPath.LastIndexOf("@"); if (pos == -1) { continue; } assetPath = assetPath.Substring(0, pos); if (AssetDatabase.AssetPathToGUID(assetPath) != null) { UIPackage.AddPackage(assetPath, (string name, string extension, System.Type type) => { return(AssetDatabase.LoadAssetAtPath(name + extension, type)); } ); } } List <UIPackage> pkgs = UIPackage.GetPackages(); pkgs.Sort(CompareUIPackage); cnt = pkgs.Count; packagesPopupContents = new GUIContent[cnt + 1]; for (int i = 0; i < cnt; i++) { packagesPopupContents[i] = new GUIContent(pkgs[i].name); } packagesPopupContents[cnt] = new GUIContent("Please Select"); UIConfig.ClearResourceRefs(); UIConfig[] configs = GameObject.FindObjectsOfType <UIConfig>(); foreach (UIConfig config in configs) { config.Load(); } EMRenderSupport.Reload(); }
public static void UpdateWindowInformation() { EditorApplication.ExecuteMenuItem("Window/FairyGUI - Refresh Packages And Panels"); _fairyGUIConfig.Clear(); string[] fairyGUIResourcesPaths = Directory.GetFiles(ConstData.UIDataPath, "*_fui.bytes", SearchOption.AllDirectories); for (int i = 0; i < fairyGUIResourcesPaths.Length; i++) { string resourcesPath = fairyGUIResourcesPaths[i].Replace("\\", "/"); string[] paths = resourcesPath.Split('/'); string packageName = paths[paths.Length - 1].Substring(0, paths[paths.Length - 1].Length - 10); string windowName = packageName; FairyGUIWindowInfo fairyGuiWindowInfo = new FairyGUIWindowInfo(); int packagePathStart = resourcesPath.IndexOf("Assets/"); fairyGuiWindowInfo.packagePath = resourcesPath.Substring(packagePathStart, resourcesPath.IndexOf(paths[paths.Length - 1]) - packagePathStart); fairyGuiWindowInfo.packageName = packageName; UIPackage.RemoveAllPackages(); UIPackage.AddPackage(fairyGuiWindowInfo.packagePath + fairyGuiWindowInfo.packageName); List <string> list = new List <string>(); foreach (var v in UIPackage.GetPackageItems(fairyGuiWindowInfo.packageName)) { if (v.Value.objectType == ObjectType.Component) { list.Add(v.Value.name); } } fairyGuiWindowInfo.WindowNames = list; if (packageName.StartsWith(ConstData.ResPackagePrefix)) { fairyGuiWindowInfo.fairyGuiWindowType = FairyGUIWindowTypes.Resource; } else { fairyGuiWindowInfo.fairyGuiWindowType = FairyGUIWindowTypes.Window; } _fairyGUIConfig.Add(fairyGuiWindowInfo); } if (!Directory.Exists(Application.streamingAssetsPath)) { Directory.CreateDirectory(Application.streamingAssetsPath); } string bytePath = ConstData.UIConfigPath; if (File.Exists(bytePath)) { File.Delete(bytePath); } using (FileStream fileStream = new FileStream(bytePath, FileMode.Create, FileAccess.Write, FileShare.Write)) { fileStream.Write(Encoding.UTF8.GetBytes(JsonMapper.ToJson(_fairyGUIConfig)), 0, Encoding.UTF8.GetBytes(JsonMapper.ToJson(_fairyGUIConfig)).Length); } Debug.Log("Update VFairyGUIConfigFile Succeed!"); UIPackage.RemoveAllPackages(); AssetDatabase.Refresh(); }
void OnDestroy() { GUI.color = this.color; GUI.skin = this.guiSkin; GUI.backgroundColor = this.backgroundColor; GUI.contentColor = this.contentColor; UIPackage.RemoveAllPackages(); OnDispose(); }
public static void LoadPackages() { if (Application.isPlaying || _loaded) { return; } EditorApplication.update -= EditorApplication_Update; EditorApplication.update += EditorApplication_Update; _loaded = true; UIPackage.RemoveAllPackages(); FontManager.Clear(); NTexture.DisposeEmpty(); UIObjectFactory.Clear(); string[] ids = AssetDatabase.FindAssets("_fui t:textAsset"); int cnt = ids.Length; for (int i = 0; i < cnt; i++) { string assetPath = AssetDatabase.GUIDToAssetPath(ids[i]); int pos = assetPath.LastIndexOf("_fui"); if (pos == -1) { continue; } assetPath = assetPath.Substring(0, pos); if (AssetDatabase.AssetPathToGUID(assetPath) != null) { UIPackage.AddPackage(assetPath, (string name, string extension, System.Type type, out DestroyMethod destroyMethod) => { destroyMethod = DestroyMethod.Unload; return(AssetDatabase.LoadAssetAtPath(name + extension, type)); } ); } } List <UIPackage> pkgs = UIPackage.GetPackages(); pkgs.Sort(CompareUIPackage); cnt = pkgs.Count; packagesPopupContents = new GUIContent[cnt + 1]; for (int i = 0; i < cnt; i++) { packagesPopupContents[i] = new GUIContent(pkgs[i].name); } packagesPopupContents[cnt] = new GUIContent("Please Select"); EMRenderSupport.Reload(); }
public void ChangeLanguage(FairyGUI.Utils.XML xML) { UIPackage.SetStringsSource(xML); UIPackage.RemoveAllPackages(); UIPackage.AddPackage("UI/Res_Main"); UIPackage.AddPackage("UI/Res_Game"); UIPackage.AddPackage("UI/Res_Component"); currentUIManager.MainUIManager(); audioSourceManager.ChangeBGM(0); SceneManager.LoadSceneAsync(0); }
public static void UnLoadAllUI() { List <UIPackage> pkgs = UIPackage.GetPackages(); if (null != pkgs) { foreach (UIPackage pkg in pkgs) { pkg.UnloadAssets(); } } UIPackage.RemoveAllPackages(); }
public static void UnloadAll() { foreach (var v in m_pkgDir.Values) { UnloadUI(v); } foreach (var v in m_objDir.Keys) { UnloadObject(v); } m_objDir.Clear(); m_pkgDir.Clear(); m_abDir.Clear(); UnloadScene(lastSceneName); ABLoader.UnloadAll(); UIPackage.RemoveAllPackages(); Resources.UnloadUnusedAssets(); }
public void Clear() { foreach (KeyValuePair <int, string> luaFormInfo in m_LuaForms) { IDataTable <DRUIForm> dt = GameEntry.DataTable.GetDataTable <DRUIForm>(); string formGroup = dt.GetDataRow(luaFormInfo.Key).UIGroupName; FairyGuiLuaForm luaForm = GameEntry.UI.GetUIForm(luaFormInfo.Key, formGroup) as FairyGuiLuaForm; if (luaForm != null) { luaForm.Clear(); GameEntry.UI.CloseUIForm(luaForm); } } BoardFormManager.Instance.Clear(); m_LuaForms.Clear(); m_UIPackages.Clear(); UIPackage.RemoveAllPackages(); }
public void RemoveAllPackage() { UIPackage.RemoveAllPackages(); }