Browse Source

同一次十连抽中,获得的新部件如果有相同的只第一件有“新”标志

zhaoyang 3 years ago
parent
commit
95a3896b2a

+ 20 - 5
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxBonusView.cs

@@ -9,6 +9,7 @@ namespace GFGGame
     public class LuckyBoxBonusView : BaseWindow
     public class LuckyBoxBonusView : BaseWindow
     {
     {
         private UI_LuckBoxBonusUI _ui;
         private UI_LuckBoxBonusUI _ui;
+        private List<ItemData> itemList;
 
 
         private List<GameObject> _effects = new List<GameObject>();
         private List<GameObject> _effects = new List<GameObject>();
         private List<GoWrapper> _wrappers = new List<GoWrapper>();
         private List<GoWrapper> _wrappers = new List<GoWrapper>();
@@ -58,7 +59,7 @@ namespace GFGGame
             base.OnShown();
             base.OnShown();
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("gxhd_bjbj");
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("gxhd_bjbj");
 
 
-            List<ItemData> itemList = (viewData as object[])[0] as List<ItemData>;
+            itemList = (viewData as object[])[0] as List<ItemData>;
             if (itemList != null)
             if (itemList != null)
             {
             {
                 _ui.m_loaBg.touchable = false;
                 _ui.m_loaBg.touchable = false;
@@ -105,7 +106,7 @@ namespace GFGGame
                 if (itemObject != null)
                 if (itemObject != null)
                 {
                 {
                     UI_LuckyBoxBonusItem itemUI = UI_LuckyBoxBonusItem.Proxy(itemObject);
                     UI_LuckyBoxBonusItem itemUI = UI_LuckyBoxBonusItem.Proxy(itemObject);
-                    UpdateItem(itemUI, itemData);
+                    UpdateItem(itemUI, itemData, i);
                     Timers.inst.Add(0.3f * i, 1, (object param) =>
                     Timers.inst.Add(0.3f * i, 1, (object param) =>
                     {
                     {
                         itemObject.visible = true;
                         itemObject.visible = true;
@@ -136,7 +137,7 @@ namespace GFGGame
             HideAllItem();
             HideAllItem();
             _ui.m_itemOne.visible = true;
             _ui.m_itemOne.visible = true;
             UI_LuckyBoxBonusItem itemUI = UI_LuckyBoxBonusItem.Proxy(_ui.m_itemOne);
             UI_LuckyBoxBonusItem itemUI = UI_LuckyBoxBonusItem.Proxy(_ui.m_itemOne);
-            UpdateItem(itemUI, itemData);
+            UpdateItem(itemUI, itemData, 0);
             _ui.m_loaBg.touchable = true;
             _ui.m_loaBg.touchable = true;
         }
         }
 
 
@@ -153,11 +154,25 @@ namespace GFGGame
             }
             }
         }
         }
 
 
-        private void UpdateItem(UI_LuckyBoxBonusItem itemUI, ItemData itemData)
+        private void UpdateItem(UI_LuckyBoxBonusItem itemUI, ItemData itemData, int index)
         {
         {
             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemData.id);
             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemData.id);
             itemUI.m_comIcon.m_icon.url = ResPathUtil.GetIconPath(itemCfg);
             itemUI.m_comIcon.m_icon.url = ResPathUtil.GetIconPath(itemCfg);
-            itemUI.m_comIcon.m_imgNew.visible = ItemDataManager.GetItemNum(itemData.id) == 1 ? true : false;
+            bool isFirst = true;
+            int count = 0;
+            for (int i = 0; i < itemList.Count; i++)
+            {
+                if (i < index && itemList[i].id == itemData.id)
+                {
+                    isFirst = false;
+                }
+                if (itemList[i].id == itemData.id)
+                {
+                    count++;
+                }
+            }
+
+            itemUI.m_comIcon.m_imgNew.visible = ItemDataManager.GetItemNum(itemData.id) == count && isFirst ? true : false;
             string itemName = itemCfg.name;
             string itemName = itemCfg.name;
             if (itemData.num > 1)
             if (itemData.num > 1)
             {
             {