浏览代码

返利商城刷新和红点补充

huangxiaoyue 1 年之前
父节点
当前提交
86cc5dc6b0

+ 25 - 2
GameClient/Assets/Game/HotUpdate/Views/Store/StoreGiftBagAddRebateView.cs

@@ -45,8 +45,10 @@ namespace GFGGame
         protected override void AddEventListener()
         {
             base.AddEventListener();
-            EventAgent.AddEventListener(ConstMessage.SHOP_BUY, UpdateView);
+            EventAgent.AddEventListener(ConstMessage.CONTINUOUS_REBATE_GIFT_SHOP_BUY, UpDayRebateAndView);
+            EventAgent.AddEventListener(ConstMessage.CONTINUOUS_REBATE_GIFT, UpdateView);
         }
+
         protected override void OnShown()
         {
             base.OnShown();
@@ -68,7 +70,28 @@ namespace GFGGame
         protected override void RemoveEventListener()
         {
             base.RemoveEventListener();
-            EventAgent.RemoveEventListener(ConstMessage.SHOP_BUY, UpdateView);
+            EventAgent.RemoveEventListener(ConstMessage.CONTINUOUS_REBATE_GIFT_SHOP_BUY, UpDayRebateAndView);
+            EventAgent.RemoveEventListener(ConstMessage.CONTINUOUS_REBATE_GIFT, UpdateView);
+        }
+
+        //购买连续礼包之后,更新数据+更新界面
+        // ReSharper disable Unity.PerformanceAnalysis
+        private void UpDayRebateAndView(EventContext context)
+        {
+            ShopCfg shopCfg = context.data as ShopCfg;
+            var itemCfg = ItemCfgArray.Instance.GetCfg(shopCfg.itemId);
+
+            if (itemCfg.itemType == ConstItemType.USEABLE &&
+                itemCfg.funType == ConstItemFuncType.CONTINUOUS_REWARD_GIFT)
+            {
+                int dayNum = EnduringGiftBoxDataManager.Instance.GetItemRebateDay(itemCfg.id);
+                int totalDayNum = dayNum + itemCfg.param2Arr[0];
+
+                EnduringGiftBoxDataManager.Instance.UpDayAllRebateItemDic(itemCfg.id, totalDayNum);
+                EnduringGiftBoxDataManager.Instance.AddDayRebateItemIds(itemCfg.id);
+            }
+
+            UpdateView();
         }
 
         private void UpdateView()

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/Store/StoreView.cs

@@ -229,7 +229,7 @@ namespace GFGGame
             RedDotController.Instance.SetComRedDot(_ui.m_comTab.m_btn2.target, (RedDotDataManager.Instance.GetGiftBagRewardRed() || RedDotDataManager.Instance.GetGiftBagRebateRed()));
             if (_ui.m_comTab.m_c1.selectedIndex == ConstStoreTabId.STORE_GIFT_BAG)
             {
-                RedDotController.Instance.SetComRedDot(_ui.m_listSubTab.GetChildAt(ConstStoreSubId.STORE_GIFT_BAG_ACTIVITY).asCom, RedDotDataManager.Instance.GetGiftBagRewardRed());
+                RedDotController.Instance.SetComRedDot(_ui.m_listSubTab.GetChildAt(ConstStoreSubId.STORE_GIFT_BAG_ACTIVITY).asCom, (RedDotDataManager.Instance.GetGiftBagRewardRed() || RedDotDataManager.Instance.GetGiftBagRebateRed()));
             }
         }