guodong hai 1 ano
pai
achega
9c435f2971

+ 5 - 7
GameClient/Assets/Game/HotUpdate/Data/BagDataManager.cs

@@ -45,15 +45,13 @@ namespace GFGGame
             _bagDatas = _bagDataDic.Values.ToList<ItemData>();
             _bagDatas.Sort((ItemData a, ItemData b) =>
             {
-                ItemCfg itemCfgA = ItemCfgArray.Instance.GetCfg(a.id);
-                ItemCfg itemCfgB = ItemCfgArray.Instance.GetCfg(b.id);
-                if (itemCfgA.subType > itemCfgB.subType) return -1;
-                if (itemCfgA.subType < itemCfgB.subType) return 1;
+                if (a.subType > b.subType) return -1;
+                if (a.subType < b.subType) return 1;
 
-                if (itemCfgA.rarity > itemCfgB.rarity) return -1;
-                if (itemCfgA.rarity < itemCfgB.rarity) return 1;
+                if (a.rarity > b.rarity) return -1;
+                if (a.rarity < b.rarity) return 1;
 
-                return itemCfgA.id - itemCfgB.id;
+                return a.id - b.id;
             });
         }
 

+ 4 - 12
GameClient/Assets/Game/HotUpdate/Data/CardDataManager.cs

@@ -33,20 +33,12 @@ namespace GFGGame
         public static void Add(CardInfoProto cardInfoProto)
         {
             CardData cardData = new CardData();
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(cardInfoProto.CardId);
-            if (itemCfg == null)
-            {
-                ET.Log.Error(cardInfoProto.CardId + "   ItemCfgArray配置不存在");
-                return;
-            }
-            cardData.mainScore = itemCfg.mainScore;
-            cardData.resources = CardDataManager.GetCardResources(itemCfg);
 
             cardData.id = cardInfoProto.CardId;
             cardData.lv = cardInfoProto.Lvl;
             cardData.exp = cardInfoProto.Exp;
             cardData.star = cardInfoProto.Star;
-            cardData.itemCfg = itemCfg;
+            cardData.mainScore = cardData.itemCfg.mainScore;
             cardData.resIndex = cardInfoProto.ResIndex >= cardData.resources.Count ? 0 : cardInfoProto.ResIndex;
             for (int i = 0; i < cardInfoProto.KsStarBonus.Count; i++)
             {
@@ -64,12 +56,12 @@ namespace GFGGame
             {
                 _cardDicByType[0] = new Dictionary<int, CardData>();
             }
-            if (_cardDicByType.ContainsKey(cardData.itemCfg.mainScore) == false)
+            if (_cardDicByType.ContainsKey(cardData.mainScore) == false)
             {
-                _cardDicByType[cardData.itemCfg.mainScore] = new Dictionary<int, CardData>();
+                _cardDicByType[cardData.mainScore] = new Dictionary<int, CardData>();
             }
             _cardDicByType[0][cardData.id] = cardData;
-            _cardDicByType[cardData.itemCfg.mainScore][cardData.id] = cardData;
+            _cardDicByType[cardData.mainScore][cardData.id] = cardData;
         }
 
         public static List<string> GetCardResources(ItemCfg itemCfg)

+ 64 - 15
GameClient/Assets/Game/HotUpdate/Data/DressUpMenuSuitDataManager.cs

@@ -7,12 +7,16 @@ namespace GFGGame
     public class DressUpMenuSuitDataManager
     {
         private static List<int> _suitIDList = new List<int>();
-        private static List<int> _actionIDList = new List<int>();//拥有的特殊动作列表列表
-        private static List<int> _travelSuitIDList = new List<int>();//拥有的游历套装列表
+        private static List<int> _actionIDList;//拥有的特殊动作列表列表
+        private static List<int> _travelSuitIDList;//拥有的游历套装列表
         public static List<int> TravelSuitIDList
         {
             get
             {
+                if(_travelSuitIDList == null)
+                {
+                    InitTravelSuitIDList();
+                }
                 return _travelSuitIDList;
             }
         }
@@ -26,9 +30,9 @@ namespace GFGGame
         public static void InitData()
         {
             _suitIDList.Clear();
-            _travelSuitIDList.Clear();
+            _travelSuitIDList = null;
             _progressBySuitIdDic.Clear();
-            _actionIDList.Clear();
+            _actionIDList = null;
         }
 
         public static void SetSuitInfo(List<SuitInfoProto> suitInfoList)
@@ -69,15 +73,8 @@ namespace GFGGame
             {
                 _suitIDList.Add(value);
 
-                TravelSuitCfg travelSuitCfg = TravelSuitCfgArray.Instance.GetCfgBysuitId(value);
-                if (travelSuitCfg != null)
-                {
-                    _travelSuitIDList.Add(travelSuitCfg.id);
-                }
-                if (SuitCfgArray.Instance.CheckSuitHasAction(value))
-                {
-                    _actionIDList.Add(value);
-                }
+                TryAddTravelSuitID(value);
+                TryAddActionID(value);
             }
         }
 
@@ -87,11 +84,15 @@ namespace GFGGame
             {
                 _suitIDList.Remove(value);
                 TravelSuitCfg travelSuitCfg = TravelSuitCfgArray.Instance.GetCfgBysuitId(value);
-                if (travelSuitCfg != null && _travelSuitIDList.Contains(travelSuitCfg.id))
+                if (travelSuitCfg != null 
+                    && _travelSuitIDList != null
+                    && _travelSuitIDList.Contains(travelSuitCfg.id))
                 {
                     _travelSuitIDList.Remove(travelSuitCfg.id);
                 }
-                if (SuitCfgArray.Instance.CheckSuitHasAction(value) && _actionIDList.Contains(value))
+                if (_actionIDList != null 
+                    && SuitCfgArray.Instance.CheckSuitHasAction(value) 
+                    && _actionIDList.Contains(value))
                 {
                     _actionIDList.Remove(travelSuitCfg.id);
                 }
@@ -185,6 +186,10 @@ namespace GFGGame
         }
         public static List<int> GetActionIDList()
         {
+            if(_actionIDList == null)
+            {
+                InitActionIDList();
+            }
             return _actionIDList;
         }
 
@@ -239,5 +244,49 @@ namespace GFGGame
             var suitCfg = SuitCfgArray.Instance.GetCfg(suitId);
             return suitCfg != null && ResPathUtil.CheckDressUpAnimationResExist(suitCfg.aniRes);
         }
+
+        private static void InitActionIDList()
+        {
+            _actionIDList = new List<int>();
+            foreach (var t in _suitIDList)
+            {
+                TryAddActionID(t);
+            }
+        }
+
+        private static void TryAddActionID(int value)
+        {
+            if(_actionIDList == null)
+            {
+                return;
+            }
+            if (SuitCfgArray.Instance.CheckSuitHasAction(value))
+            {
+                _actionIDList.Add(value);
+            }
+        }
+
+        private static void InitTravelSuitIDList()
+        {
+            _travelSuitIDList = new List<int>();
+            foreach (var t in _suitIDList)
+            {
+                TryAddTravelSuitID(t);
+            }
+        }
+
+        private static void TryAddTravelSuitID(int value)
+        {
+            if(_travelSuitIDList == null)
+            {
+                return;
+            }
+            TravelSuitCfg travelSuitCfg = TravelSuitCfgArray.Instance.GetCfgBysuitId(value);
+            if (travelSuitCfg != null)
+            {
+                _travelSuitIDList.Add(travelSuitCfg.id);
+            }
+        }
+
     }
 }

+ 22 - 3
GameClient/Assets/Game/HotUpdate/Data/VO/CardData.cs

@@ -1,4 +1,5 @@
-using System.Collections.Generic;
+using ET;
+using System.Collections.Generic;
 
 namespace GFGGame
 {
@@ -12,9 +13,27 @@ namespace GFGGame
         public int star;
         public int resIndex;//当前卡面,0默认,1特殊
         public int mainScore;
-        public List<string> resources;//所有配置卡面
+        public List<string> _resources;//所有配置卡面
+        public List<string> resources
+        {
+            get
+            {
+                if(_resources == null)
+{
+                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(id);
+                    CardDataManager.GetCardResources(itemCfg);
+                }
+                return _resources;
+            }
+        }
         public Dictionary<int, int> scores;
         public Dictionary<int, int> starRewardsState = new Dictionary<int, int>();//升星奖励领取状态,只记录可领和已领
-        public ItemCfg itemCfg;
+        public ItemCfg itemCfg
+        {
+            get
+            {
+                return ItemCfgArray.Instance.GetCfg(id);
+            }
+        }
     }
 }

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs

@@ -850,6 +850,7 @@ namespace GFGGame
 
         private void UpdateRedDot()
         {
+            return;
             LogHelper.LogEditor("MainUIView UpdateRedDot");
             _valueBarController.UpRead();
             RedDotController.Instance.SetComRedDot(_btnGongGao, RedDotDataManager.Instance.GetNoticeRed(), "", -9, 12);