Forráskód Böngészése

修改服装散件图鉴的异步加载

leiyasi 1 éve
szülő
commit
585950a480

+ 9 - 4
GameClient/Assets/Game/HotUpdate/Data/DressUpMenuItemDataManager.cs

@@ -4,6 +4,7 @@ using System;
 using UnityEngine;
 using ET;
 using FairyGUI;
+using System.Threading.Tasks;
 
 namespace GFGGame
 {
@@ -728,18 +729,20 @@ namespace GFGGame
             return result;
         }
 
-        public static void GetAllDressUpGuideIdListBySubTypeAsync()
+        public static bool isLoading = false;
+        public static async Task GetAllDressUpGuideIdListBySubTypeAsync()
         {
+            isLoading = true;
             // 除饰品外的散件
             for (int i = 0; i < dressUpGuideSubType.Length; i++)
             {
-                ItemCfgArray.Instance.GetCfgsByitemTypeAndsubTypeAsync(ConstItemType.DRESS_UP, dressUpGuideSubType[i]);
+                await ItemCfgArray.Instance.GetCfgsByitemTypeAndsubTypeAsync(ConstItemType.DRESS_UP, dressUpGuideSubType[i]);
             }
 
             // 饰品
             for (int i = 0; i < dressUpGuideAccessoriesType.Length; i++)
             {
-                ItemCfgArray.Instance.GetCfgsByitemTypeAndsubTypeAsync(ConstItemType.DRESS_UP, dressUpGuideAccessoriesType[i]);
+                await ItemCfgArray.Instance.GetCfgsByitemTypeAndsubTypeAsync(ConstItemType.DRESS_UP, dressUpGuideAccessoriesType[i]);
             }
 
             // 特殊
@@ -748,9 +751,11 @@ namespace GFGGame
             {
                 if (itemTypeCfg[i].type > ConstDressUpItemType.TE_SHU)
                 {
-                    ItemCfgArray.Instance.GetCfgsByitemTypeAndsubTypeAsync(ConstItemType.DRESS_UP, itemTypeCfg[i].type);
+                    await ItemCfgArray.Instance.GetCfgsByitemTypeAndsubTypeAsync(ConstItemType.DRESS_UP, itemTypeCfg[i].type);
                 }
             }
+            isLoading = false;
+            EventAgent.DispatchEvent(ConstMessage.DRESS_PART_LOAD_FINISHED);
         }
 
         public static void SortDressUpGuideIdList(List<int> list)

+ 17 - 2
GameClient/Assets/Game/HotUpdate/Views/FieldGuide/DressUpGuideView.cs

@@ -63,6 +63,7 @@ namespace GFGGame
             base.AddEventListener();
             EventAgent.AddEventListener(ConstMessage.DRESS_SEARCH, FilterItems);
             EventAgent.AddEventListener(ConstMessage.DRESS_FILTER, FilterItems);
+            EventAgent.AddEventListener(ConstMessage.DRESS_PART_LOAD_FINISHED, LoadFinished);
 
         }
 
@@ -71,6 +72,7 @@ namespace GFGGame
             base.RemoveEventListener();
             EventAgent.RemoveEventListener(ConstMessage.DRESS_SEARCH, FilterItems);
             EventAgent.RemoveEventListener(ConstMessage.DRESS_FILTER, FilterItems);
+            EventAgent.RemoveEventListener(ConstMessage.DRESS_PART_LOAD_FINISHED, LoadFinished);
         }
 
         protected override void OnShown()
@@ -80,8 +82,15 @@ namespace GFGGame
             _ui.m_c1.selectedIndex = 0;
             _ui.m_listType1.scrollPane.SetPercX(0,false);
 
-            UpdateItemIdListByType1(0);
-            UpdateItemListUI();
+            if (DressUpMenuItemDataManager.isLoading)
+            {
+                ViewManager.Show<ModalStatusView>("加载中...");
+            }
+            else
+            {
+                UpdateItemIdListByType1(0);
+                UpdateItemListUI();
+            }
 
             if (_startInAnim)
             {
@@ -326,5 +335,11 @@ namespace GFGGame
             _ui.m_Refresh.Play();
         }
 
+        private void LoadFinished()
+        {
+            UpdateItemIdListByType1(0);
+            UpdateItemListUI();
+            ViewManager.Hide<ModalStatusView>();
+        }
     }
 }