Explorar el Código

战斗选卡打开卡顿

zhaoyang hace 2 años
padre
commit
2866c862c6

+ 2 - 1
GameClient/Assets/Game/HotUpdate/Data/ArenaDataManager.cs

@@ -141,7 +141,8 @@ namespace GFGGame
         /// </summary>
         public int GetRecommentCardId(int scoreType, List<int> itemList)
         {
-            List<CardData> cardDatas = FightDataManager.Instance.SortCardList(CardDataManager.GetCardListByRarity(0), itemList, scoreType);
+            float dressListAllAcore = FightDataManager.Instance.GetDressListAllScore(itemList, scoreType);
+            List<CardData> cardDatas = FightDataManager.Instance.SortCardList(CardDataManager.GetCardListByRarity(0), dressListAllAcore, scoreType);
             if (cardDatas.Count == 0) return 0;
             return cardDatas[0].itemCfg.id;
         }

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

@@ -84,7 +84,7 @@ namespace GFGGame
             return resources;
         }
 
-        private static List<CardData> SortItemList(List<CardData> arrayList)
+        public static List<CardData> SortItemList(List<CardData> arrayList)
         {
 
             arrayList.Sort((CardData a, CardData b) =>
@@ -129,9 +129,7 @@ namespace GFGGame
                 CardData[] cardArray = new CardData[cardDic.Count];
                 cardDic.Values.CopyTo(cardArray, 0);
 
-                List<CardData> cardList = new List<CardData>(cardArray);
-                cardList = CardDataManager.SortItemList(cardList);
-                return cardList;
+                return new List<CardData>(cardArray);
             }
             return new List<CardData>();
         }

+ 14 - 10
GameClient/Assets/Game/HotUpdate/Data/FightDataManager.cs

@@ -171,8 +171,6 @@ namespace GFGGame
         }
 
 
-
-
         public void SetItemScoreList(FightData _roleData)
         {
             _roleData.itemScoreList.Clear();
@@ -185,6 +183,16 @@ namespace GFGGame
             }
         }
 
+        public float GetDressListAllScore(List<int> itemList, int scoreType)
+        {
+            float itemSum = 0;
+            for (int i = 0; i < itemList.Count; i++)
+            {
+                itemSum += ItemDataManager.GetItemAdditionScore(itemList[i], scoreType);
+            }
+            return itemSum;
+        }
+
         /// <summary>
         /// 0失败1优秀2完美
         /// </summary>
@@ -218,13 +226,9 @@ namespace GFGGame
         /// </summary>
         /// <param name="arrayList"></param>
         /// <returns></returns>
-        public List<CardData> SortCardList(List<CardData> cardList, List<int> itemList, int scoreType)
+        public List<CardData> SortCardList(List<CardData> cardList, double itemSum, int scoreType)
         {
-            double itemSum = 0;
-            for (int i = 0; i < itemList.Count; i++)
-            {
-                itemSum += ItemDataManager.GetItemAdditionScore(itemList[i], scoreType);
-            }
+
             List<CardData> arrayList = new List<CardData>(cardList);
             for (int i = arrayList.Count - 1; i >= 0; i--)
             {
@@ -280,8 +284,8 @@ namespace GFGGame
                 if (skillLvlCfg == null) continue;
                 skillScore += skillBaseScore * ((float)skillLvlCfg.fightPowerParam / 10000f);
             }
-            ET.Log.Debug("cardId:" + cardId);
-            ET.Log.Debug("skillScore:" + skillScore);
+            // ET.Log.Debug("cardId:" + cardId);
+            // ET.Log.Debug("skillScore:" + skillScore);
             return (long)Math.Ceiling(skillScore); ;
         }
 

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Views/Card/CardDetailView.cs

@@ -88,6 +88,7 @@ namespace GFGGame
                 //筛选
                 cardList = CardDataManager.FilterCardList(cardList);
             }
+            cardList = CardDataManager.SortItemList(cardList);
             _ui.m_listCard.data = cardList;
             _ui.m_listCard.numItems = cardList.Count;
 

+ 2 - 1
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryCardChoose.cs

@@ -59,7 +59,8 @@ namespace GFGGame
             base.OnShown();
             _scoreType = (int)viewData;
             cardList = CardDataManager.GetCardListByRarity(0);
-            cardList = FightDataManager.Instance.SortCardList(cardList, MyDressUpHelper.dressUpObj.itemList, _scoreType);
+            float dressListAllAcore = FightDataManager.Instance.GetDressListAllScore(MyDressUpHelper.dressUpObj.itemList, _scoreType);
+            cardList = FightDataManager.Instance.SortCardList(cardList, dressListAllAcore, _scoreType);
             _ui.m_listCard.numItems = cardList.Count;
             _ui.m_listCard.selectedIndex = 0;
             if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)