|
@@ -0,0 +1,37 @@
|
|
|
+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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|