zhaoyang 2 år sedan
förälder
incheckning
5be9f745ad

+ 3 - 3
GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs

@@ -311,10 +311,10 @@ namespace GFGGame
             for (int i = 1; i < vipCfgs.Length; i++)
             {
                 bool isGet = MathHelper.isBitSet(GameGlobal.myNumericComponent.GetAsInt(NumericType.VipGetStatus), vipCfgs[i].id);
-                bool isWeekGet = MathHelper.isBitSet(GameGlobal.myNumericComponent.GetAsInt(NumericType.VipWeekGetStatus), vipCfgs[i].id);
-                if ((!isGet || isWeekGet) && RoleDataManager.vipLv >= vipCfgs[i].id) return true;
+                if (!isGet && RoleDataManager.vipLv >= vipCfgs[i].id) return true;
             }
-            return false;
+
+            return GameGlobal.myNumericComponent.GetAsInt(NumericType.VipWeekGetStatus) == 0 && RoleDataManager.vipLv > 0;
         }
     }
 }

+ 15 - 4
GameClient/Assets/Game/HotUpdate/Views/Store/StoreChargeAddUpView.cs

@@ -147,16 +147,16 @@ namespace GFGGame
             }
             item.m_btnGetGiftBag.data = vipCfg.id;
             bool isGet = MathHelper.isBitSet(GameGlobal.myNumericComponent.GetAsInt(NumericType.VipGetStatus), vipCfg.id);
-            item.m_btnGetGiftBag.enabled = !isGet;
+            item.m_btnGetGiftBag.grayed = isGet || vipCfg.id > RoleDataManager.vipLv;
             RedDotController.Instance.SetComRedDot(item.m_btnGetGiftBag, !isGet && RoleDataManager.vipLv >= vipCfg.id);
             if (item.m_btnGetWeekGiftBag.data == null)
             {
                 item.m_btnGetWeekGiftBag.onClick.Add(OnBtnGetWeekGiftBagClick);
             }
             item.m_btnGetWeekGiftBag.data = vipCfg.id;
-            bool isWeekGet = MathHelper.isBitSet(GameGlobal.myNumericComponent.GetAsInt(NumericType.VipWeekGetStatus), vipCfg.id);
-            item.m_btnGetWeekGiftBag.enabled = !isWeekGet;
-            RedDotController.Instance.SetComRedDot(item.m_btnGetWeekGiftBag, !isWeekGet && RoleDataManager.vipLv >= vipCfg.id);
+            bool canGet = GameGlobal.myNumericComponent.GetAsInt(NumericType.VipWeekGetStatus) == 0 && RoleDataManager.vipLv == vipCfg.id;
+            item.m_btnGetWeekGiftBag.grayed = !canGet;
+            RedDotController.Instance.SetComRedDot(item.m_btnGetWeekGiftBag, canGet);
             UI_ListVipItem.ProxyEnd();
         }
 
@@ -193,6 +193,12 @@ namespace GFGGame
         {
             GObject obj = context.sender as GObject;
             int vipLv = (int)obj.data;
+            bool isGet = MathHelper.isBitSet(GameGlobal.myNumericComponent.GetAsInt(NumericType.VipGetStatus), vipLv);
+            if (isGet)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("会员等级礼包已领取");
+                return;
+            }
             if (RoleDataManager.vipLv < vipLv)
             {
                 PromptController.Instance.ShowFloatTextPrompt("会员等级不足");
@@ -204,6 +210,11 @@ namespace GFGGame
         {
             GObject obj = context.sender as GObject;
             int vipLv = (int)obj.data;
+            if (GameGlobal.myNumericComponent.GetAsInt(NumericType.VipWeekGetStatus) == 1)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("会员每周礼包已领取");
+                return;
+            }
             if (RoleDataManager.vipLv < vipLv)
             {
                 PromptController.Instance.ShowFloatTextPrompt("会员等级不足");

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

@@ -95,7 +95,7 @@ namespace GFGGame
                     iconUrl = "ui://Store/MonthCard_Icon";
                     monthCfg = MonthlyCardCfgArray.Instance.GetCfg(MonthCardType.Gold);
                     isFirstBuy = GameGlobal.myNumericComponent.GetAsInt(NumericType.MonthCardGoldFirstBuy) <= 0;
-                    endTime = GameGlobal.myNumericComponent.GetAsInt(NumericType.MonthCardGoldEndTime);
+                    endTime = GameGlobal.myNumericComponent.GetAsLong(NumericType.MonthCardGoldEndTime);
                     isGot = GameGlobal.myNumericComponent.GetAsInt(NumericType.MonthCardGoldReward) > 0;
                     for (int i = 0; i < MonthlyCardPrivilegeCfgArray.Instance.dataArray.Length; i++)
                     {
@@ -113,7 +113,7 @@ namespace GFGGame
                     iconUrl = "ui://Store/MonthCard_Icon";
                     monthCfg = MonthlyCardCfgArray.Instance.GetCfg(MonthCardType.BlackGold);
                     isFirstBuy = GameGlobal.myNumericComponent.GetAsInt(NumericType.MonthCardBlackGoldFirstBuy) <= 0;
-                    endTime = GameGlobal.myNumericComponent.GetAsInt(NumericType.MonthCardBlackGoldEndTime);
+                    endTime = GameGlobal.myNumericComponent.GetAsLong(NumericType.MonthCardBlackGoldEndTime);
                     isGot = GameGlobal.myNumericComponent.GetAsInt(NumericType.MonthCardBlackGoldReward) > 0;
                     for (int i = 0; i < MonthlyCardPrivilegeCfgArray.Instance.dataArray.Length; i++)
                     {

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

@@ -40,14 +40,6 @@ namespace GFGGame
             isfullScreen = true;
             this.bringToFontOnClick = false;
 
-            // StoreTabCfg charge = StoreTabCfgArray.Instance.GetCfgByfunctionId(ConstFunctionId.STORE_CHARGE);
-            // Debug.Log("charge[0]" + charge.subTabArr[0][0]);
-            // Debug.Log("charge[0]" + charge.subTabArr[0][1]);
-            // Debug.Log("charge[0]" + charge.subTabArr[0][2]);
-            // Debug.Log("charge[1]" + charge.subTabArr[1][0]);
-            // Debug.Log("charge[1]" + charge.subTabArr[1][1]);
-            // Debug.Log("charge[1]" + charge.subTabArr[1][2]);
-
 
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("sc_beijing");
 
@@ -55,12 +47,12 @@ namespace GFGGame
             _ui.m_comTab.m_c1.onChanged.Add(OnTabChange);
             _ui.m_listSubTab.itemRenderer = RenderListSubTabItem;
             _ui.m_listSubTab.onClickItem.Add(OnListSubTabClick);
-            // _ui.m_listSubTab.selectionController.onChanged.Add(OnListSubTabClick);
 
         }
         protected override void AddEventListener()
         {
             base.AddEventListener();
+            EventAgent.AddEventListener(ConstMessage.NUMERIC_CHANGE, UpdateRedDot);
         }
         protected override void OnShown()
         {
@@ -85,6 +77,8 @@ namespace GFGGame
                 _ui.m_listSubTab.ScrollToView(_curSubTabIndex);
                 OnListSubTabChange(_curSubTabIndex);
             }
+
+            UpdateRedDot();
         }
 
         protected override void OnHide()
@@ -97,6 +91,7 @@ namespace GFGGame
         protected override void RemoveEventListener()
         {
             base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.NUMERIC_CHANGE, UpdateRedDot);
 
         }
         private void OnClickBtnBack()
@@ -162,10 +157,7 @@ namespace GFGGame
                 menu2 = int.Parse(_storeTabCfgs[index][1]);
             }
             item.data = index;
-            if (menu2 == ConstStoreSubId.STORE_CHARGE_ADDUP)
-            {
-                RedDotController.Instance.SetComRedDot(_ui.m_comTab.m_btn0.target, RedDotDataManager.Instance.GetChargeAddUpReward());
-            }
+
         }
         private void OnListSubTabClick(EventContext context)
         {
@@ -207,6 +199,10 @@ namespace GFGGame
         private void UpdateRedDot()
         {
             RedDotController.Instance.SetComRedDot(_ui.m_comTab.m_btn0.target, RedDotDataManager.Instance.GetChargeAddUpReward());
+            if (_ui.m_comTab.m_c1.selectedIndex == ConstStoreSubId.STORE_CHARGE + 1)
+            {
+                RedDotController.Instance.SetComRedDot(_ui.m_listSubTab.GetChildAt(ConstStoreSubId.STORE_CHARGE_ADDUP).asCom, RedDotDataManager.Instance.GetChargeAddUpReward());
+            }
         }
     }
 }