123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- using FairyGUI;
- using UnityEngine;
- namespace ET.Client
- {
- public static class UIHelper
- {
- public static async ETTask<GComponent> Create(string packName, string uiName = null)
- {
- var ass = await YooAssetProxy.LoadAssetAsync<TextAsset>($"FGUI_{packName}_fui");
- UIPackage.AddPackage(ass.GetAssetObject<TextAsset>().bytes, packName, LoadPackageInternalAsync);
- var view = UIPackage.CreateObject(packName, uiName ?? packName).asCom;
- view.name = uiName ?? packName;
- GRoot.inst.AddChild(view);
- return view;
- }
- private static async void LoadPackageInternalAsync(string name, string extension, System.Type type, PackageItem item)
- {
- var tex = await YooAssetProxy.LoadAssetAsync<Texture>($"FGUI_{name}");
- item.owner.SetItemAsset(item, tex.GetAsset<Texture>(), DestroyMethod.Unload);
- }
- public static bool Remove(string uiName, bool release = true)
- {
- var view = GRoot.inst.GetChild(uiName);
- if (view != null)
- {
- GRoot.inst.RemoveChild(view, release);
- return true;
- }
- return false;
- }
- public static bool SetVisible(string uiName, bool flag)
- {
- var view = GRoot.inst.GetChild(uiName);
- if (view != null)
- {
- view.visible = flag;
- return true;
- }
- return false;
- }
- public static GObject GetUI(string uiName)
- {
- return GRoot.inst.GetChild(uiName);
- }
- }
- }
|