AppStartInitFinish_CreateLoginUI.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using Cysharp.Threading.Tasks;
  2. using FairyGUI;
  3. using UnityEngine;
  4. namespace ET.Client
  5. {
  6. [Event(SceneType.Client)]
  7. public class AppStartInitFinish_CreateLoginUI : AEvent<EventType.AppStartInitFinish>
  8. {
  9. protected override async ETTask Run(Scene scene, EventType.AppStartInitFinish args)
  10. {
  11. Log.Debug("to load login ui.");
  12. var ass = await YooAssetProxy.LoadAssetAsync<TextAsset>("FGUI_Login_fui");
  13. UIPackage.AddPackage(ass.GetAssetObject<TextAsset>().bytes, "Login", LoadPackageInternalAsync);
  14. var view = UIPackage.CreateObject("Login", "Login").asCom;
  15. view.name = "Login";
  16. GRoot.inst.AddChild(view);
  17. InitLogin(scene, view);
  18. var preView = GRoot.inst.GetChildAt(0);
  19. GRoot.inst.RemoveChild(preView, true);
  20. UIPackage.RemovePackage("CheckForResUpdate");
  21. }
  22. /// <summary>
  23. /// 加载资源的异步委托
  24. /// </summary>
  25. /// <param name="name">注意,这个name是FGUI内部组装的纹理全名,例如FUILogin_atlas0</param>
  26. /// <param name="extension"></param>
  27. /// <param name="type"></param>
  28. /// <param name="item"></param>
  29. private static async void LoadPackageInternalAsync(string name,
  30. string extension, System.Type type, PackageItem item)
  31. {
  32. var tex = await YooAssetProxy.LoadAssetAsync<Texture>($"FGUI_{name}");
  33. item.owner.SetItemAsset(item, tex.GetAsset<Texture>(), DestroyMethod.Unload);
  34. }
  35. private void InitLogin(Scene scene, GComponent view)
  36. {
  37. var account = view.GetChild("input_name");
  38. var password = view.GetChild("input_password");
  39. var btn = view.GetChild("Btn_Login");
  40. btn.onClick.Add(() =>
  41. {
  42. view.GetChild("img_tips").visible = false;
  43. view.GetChild("txt_tips").visible = false;
  44. btn.enabled = false;
  45. LoginHelper.Login(scene, account.text, password.text).Coroutine();
  46. });
  47. }
  48. }
  49. }