12345678910111213141516171819202122232425262728293031323334353637 |
- using UnityEngine;
- using FairyGUI;
- using Cysharp.Threading.Tasks;
- namespace ET.Client
- {
- [Event(SceneType.Client)]
- public class AppStartInitFinish_CreateLoginUI: AEvent<EventType.AppStartInitFinish>
- {
- protected override async ETTask Run(Scene scene, EventType.AppStartInitFinish args)
- {
- var ass = await YooAssetProxy.LoadAssetAsync<TextAsset>("FGUI_Login_fui");
- UIPackage.AddPackage(ass.GetAssetObject<TextAsset>().bytes, "Login", LoadPackageInternalAsync);
- var view = UIPackage.CreateObject("Login", "Login").asCom;
- var preView = GRoot.inst.GetChildAt(0);
- GRoot.inst.RemoveChildren();
- GRoot.inst.AddChild(view);
- preView.Dispose();
- UIPackage.RemovePackage("CheckForResUpdate");
- }
- /// <summary>
- /// 加载资源的异步委托
- /// </summary>
- /// <param name="name">注意,这个name是FGUI内部组装的纹理全名,例如FUILogin_atlas0</param>
- /// <param name="extension"></param>
- /// <param name="type"></param>
- /// <param name="item"></param>
- 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);
- }
- }
- }
|