123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- using FairyGUI;
- using UnityEngine;
- namespace ET.Client
- {
- public static class UIHelper
- {
- public static async ETTask<GComponent> Create(string packName, string uiName = null, int index = -1, GComponent parent = 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;
- if(parent == null)
- {
- parent = GRoot.inst;
- }
- if (index >= 0)
- {
- parent.AddChildAt(view, index);
- }
- else
- {
- parent.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);
- }
- }
- }
|