UGUIManager.cs 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. using System;
  2. using ET;
  3. using UnityEngine;
  4. using YooAsset;
  5. namespace GFGGame
  6. {
  7. public class UGUIManager : SingletonBase<UGUIManager>
  8. {
  9. public GameObject desktop;
  10. public async void Init()
  11. {
  12. // 1. 加载 UI Canvas
  13. var handle = YooAssets.LoadAssetAsync<GameObject>(ResPathUtil.GetUUIPrefabPath("UICanvas"));
  14. await handle.Task;
  15. var canvas = handle.InstantiateSync();
  16. GameObject.DontDestroyOnLoad(canvas);
  17. desktop = canvas.transform.Find("Desktop").gameObject;
  18. // 2. 按顺序加载 FairyGUI 包
  19. try
  20. {
  21. await GFGUIPackage.AddPackageAsync(ResPathUtil.GetUIPackagePath("Common"));
  22. await GFGUIPackage.AddPackageAsync(ResPathUtil.GetUIPackagePath("CommonGame"));
  23. await GFGUIPackage.AddPackageAsync(ResPathUtil.GetUIPackagePath("Main"));
  24. await GFGUIPackage.AddPackageAsync(ResPathUtil.GetUIPackagePath("Login"));
  25. // await GFGUIPackage.AddPackageAsync(ResPathUtil.GetUIPackagePath("Login"));
  26. // await GFGUIPackage.AddPackageAsync(ResPathUtil.GetUIPackagePath("Login"));
  27. // await GFGUIPackage.AddPackageAsync(ResPathUtil.GetUIPackagePath("Login"));
  28. // await GFGUIPackage.AddPackageAsync(ResPathUtil.GetUIPackagePath("Login"));
  29. // 3. 初始化其他逻辑(确保资源已加载)
  30. ViewManager.Init();
  31. LogController.Instance.Init();
  32. GameGlobal.Init();
  33. QDManager.Init();
  34. ViewGlobal.CreatClickEffect(); // 此时资源已就绪
  35. GetGameCfg();
  36. }
  37. catch (System.Exception e)
  38. {
  39. Debug.LogError($"初始化失败: {e}");
  40. }
  41. }
  42. /// <summary>
  43. /// 获取游戏配置
  44. /// </summary>
  45. public static void GetGameCfg()
  46. {
  47. var url = LauncherConfig.cfgUrl.Replace("{cfgName}", GameGlobal.cfgName);
  48. url = url + "?t=" + TimeHelper.ClientNow();
  49. LauncherView.Instance.SetDesc("正在解压数据...");
  50. HttpTool.Instance.Get(url, (string data) =>
  51. {
  52. //初始化游戏配置
  53. GameConfig.InitData(data);
  54. //缓存一部分配置文件
  55. // FightScoreCfgArray.Instance.Init();
  56. // StudioCfgArray.Instance.Init();
  57. // DailySignCfgArray.Instance.Init();
  58. // DailyLoginCfgArray.Instance.Init();
  59. // DressUpMenuItemCfg2Array.Instance.Init();
  60. // AdCfgArray.Instance.Init();
  61. // ItemTypeCfgArray.Instance.Init();
  62. // GuideCfgArray.Instance.Init();
  63. // SuitCfgArray.Instance.Init();
  64. // ShopCfgArray.Instance.Init();
  65. // SuitFosterCfgArray.Instance.Init();
  66. // VipCfgArray.Instance.Init();
  67. // ActivityRechargeCfgArray.Instance.Init();
  68. // ActivityLuckybonusCfgArray.Instance.Init();
  69. // Activity7DaysTaskCfgArray.Instance.Init();
  70. // Activity7DaysCfgArray.Instance.Init();
  71. // SuitGuideMenuCfgArray.Instance.Init();
  72. // ActivityRecharge2CfgArray.Instance.Init();
  73. // SuitFosterListCfgArray.Instance.Init();
  74. // TaskCfgArray.Instance.Init();
  75. LauncherView.Instance.Close();
  76. //显示登录
  77. LoginController.ShowLogin();
  78. });
  79. }
  80. public void Show()
  81. {
  82. }
  83. public void Hide()
  84. {
  85. }
  86. }
  87. }