Pārlūkot izejas kodu

自动使用物品展示

guodong 2 gadi atpakaļ
vecāks
revīzija
a24e0a3e51

+ 21 - 0
GameClient/Assets/Game/HotUpdate/Controller/BonusController.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using ET;
 
 namespace GFGGame
 {
@@ -10,6 +11,7 @@ namespace GFGGame
             if (bonusInfos != null && bonusInfos.Length > 0)
             {
                 List<ItemData> bonusList = ItemUtil.CreateItemDataList(bonusInfos);
+                CheckUpdateAutoUseItem(bonusList);
                 ViewManager.Show<RewardView>(new object[] { bonusList, onSuccess });
             }
         }
@@ -17,8 +19,27 @@ namespace GFGGame
         {
             if (bonusList != null && bonusList.Count > 0)
             {
+                CheckUpdateAutoUseItem(bonusList);
                 ViewManager.Show<RewardView>(new object[] { bonusList, onSuccess });
             }
         }
+
+        private static void CheckUpdateAutoUseItem(List<ItemData> bonusList)
+        {
+            List<ItemData> itemDatasFromAutoUsedItem = new List<ItemData>();
+            int count = bonusList.Count;
+            for (var i = count - 1; i >= 0; i--)
+            {
+                var t = bonusList[i];
+                var itemCfg = ItemCfgArray.Instance.GetCfg(t.id);
+                if (itemCfg.itemType == ConstItemType.USEABLE &&
+                    (itemCfg.subType == ConstItemSubType.USEABLE_AUTO))
+                {
+                    itemDatasFromAutoUsedItem.AddRange(ItemUtil.CreateItemDataList(itemCfg.itemsArr, t.num));
+                    bonusList.RemoveAt(i);
+                }
+            }
+            bonusList.AddRange(itemDatasFromAutoUsedItem);
+        }
     }
 }

+ 1 - 10
GameClient/Assets/Game/HotUpdate/ServerProxy/ShopSProxy.cs

@@ -38,16 +38,7 @@ namespace GFGGame
                         PromptController.Instance.ShowFloatTextPrompt("虚拟充值成功");
                     }
 
-                    List<ItemData> itemDatas;
-                    if (itemCfg.itemType == ConstItemType.USEABLE &&
-                        (itemCfg.subType == ConstItemSubType.USEABLE_AUTO))
-                    {
-                        itemDatas = ItemUtil.CreateItemDataList(itemCfg.itemsArr, response.Times * shopCfg.itemNum);
-                    }
-                    else
-                    {
-                        itemDatas = ItemUtil.CreateItemDataList(itemCfg.id, response.Times * shopCfg.itemNum);
-                    }
+                    List<ItemData> itemDatas = ItemUtil.CreateItemDataList(itemCfg.id, response.Times * shopCfg.itemNum);
 
                     EventAgent.DispatchEvent(ConstMessage.CONTINUOUS_REBATE_GIFT_SHOP_BUY, shopCfg);
                     BonusController.TryShowBonusList(itemDatas);

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Utils/ItemUtil.cs

@@ -109,7 +109,7 @@ namespace GFGGame
             }
             return itemList;
         }
-        public static List<ItemData> CreateItemDataList(int[][] bonus, int num)
+        public static List<ItemData> CreateItemDataList(int[][] bonus, long num)
         {
             List<ItemData> itemList = new List<ItemData>();
             foreach (int[] item in bonus)