zhaoyang преди 2 години
родител
ревизия
c944e2181a
променени са 1 файла, в които са добавени 20 реда и са изтрити 3 реда
  1. 20 3
      GameClient/Assets/Game/HotUpdate/Views/ActivityThemeLuckyBox/ActivityThemeLuckyBoxBonusView.cs

+ 20 - 3
GameClient/Assets/Game/HotUpdate/Views/ActivityThemeLuckyBox/ActivityThemeLuckyBoxBonusView.cs

@@ -44,8 +44,6 @@ namespace GFGGame
             base.OnShown();
             _bonueCfgs = ActivityLuckybonusCfgArray.Instance.GetCfgsByid(ActivityDataManager.Instance.activityId);
             _ui.m_list.numItems = _bonueCfgs.Count;
-
-
         }
 
         protected override void OnHide()
@@ -74,7 +72,15 @@ namespace GFGGame
             item.m_listRewards.data = _bonueCfgs[index].bonusArr;
             item.m_listRewards.numItems = _bonueCfgs[index].bonusArr.Length;
             int key = _bonueCfgs[index].num;
-            item.m_c1.selectedIndex = ActivityDataManager.Instance.luckyBoxActBonusState.ContainsKey(key) ? ActivityDataManager.Instance.luckyBoxActBonusState[key] : 0;
+            int state = ActivityDataManager.Instance.luckyBoxActBonusState.ContainsKey(key) ? ActivityDataManager.Instance.luckyBoxActBonusState[key] : 0;
+            bool canGet = state < ConstBonusStatus.GOT && ActivityDataManager.Instance.allPlayTimes >= _bonueCfgs[index].num;
+            item.m_c1.selectedIndex = canGet ? 1 : state;
+
+            if (item.m_btnGet.data == null)
+            {
+                item.m_btnGet.onClick.Add(OnBtnGetClick);
+            }
+            item.m_btnGet.data = key;
 
             UI_ListItem.ProxyEnd();
         }
@@ -90,5 +96,16 @@ namespace GFGGame
             (obj.data as ItemView).SetData(reward);
             (obj.data as ItemView).ChangeTxtCountStyle();
         }
+
+        private async void OnBtnGetClick(EventContext context)
+        {
+            GObject obj = context.sender as GObject;
+            int key = (int)obj.data;
+            bool result = await ActivitySProxy.ReqGetTimeLimitLuckyBoxBonus(ActivityDataManager.Instance.activityId, key);
+            if (result)
+            {
+                _ui.m_list.numItems = _bonueCfgs.Count;
+            }
+        }
     }
 }