浏览代码

锦罗织造添加红点

huangxiaoyue 1 年之前
父节点
当前提交
e2c2603a01

+ 19 - 0
GameClient/Assets/Game/HotUpdate/Data/BattlePassTaskDataManager.cs

@@ -193,5 +193,24 @@ namespace GFGGame
             tempItems.Clear();
             initedFromServer = false;
         }
+
+        //一键获取是否领取状态
+        public bool CheckStoreBrocadeWeavRed()
+        {
+            var battlePassCfgs = BattlePassCfgArray.Instance.GetCfgsByidAndisGood(GetSeasonId(), 1);
+            var _rewardCfgs =new List<BattlePassCfg>( BattlePassCfgArray.Instance.GetCfgsByid(GetSeasonId()));
+            var isBuy = BattlePassTaskDataManager.Instance.GetIsBuy();
+            for (int level = 1; level < _rewardCfgs.Count; level++) {
+                var state = GetRewardState(level);
+                bool normalRewardGet = (state == 1);
+                if (normalRewardGet)
+                    return true;
+
+                bool superLevelRewardGet = (isBuy && !CheckSuperLevelRewardGet(level) && state == 1);
+                if (superLevelRewardGet)
+                    return true;
+            }
+            return false;
+        }
     }
 }

+ 10 - 1
GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs

@@ -521,7 +521,7 @@ namespace GFGGame
         /// <returns></returns>
         public bool GetShopRed()
         {
-            return GetChargeAddUpRewardRed() || GetGiftBagRewardRed() || GetGoldCardRewardRed() || GetBlackCardRewardRed() || GetBlackCardClothingRed();
+            return GetChargeAddUpRewardRed() || GetGiftBagRewardRed() || GetGoldCardRewardRed() || GetBlackCardRewardRed() || GetBlackCardClothingRed() || GetStoreBrocadeWeavRewardRed();
         }
         //商店-充值-会员中心
         public bool GetChargeAddUpRewardRed()
@@ -581,6 +581,15 @@ namespace GFGGame
             return RoleDataManager.CheckIsMonthCardOpenByType(MonthCardType.BlackGold) && !MathUtil.isBitSet(GameGlobal.myNumericComponent.GetAsInt(NumericType.MonthCardExclusiveClothesMouth), _month);
         }
         /// <summary>
+        /// 商城-月卡-锦罗织造
+        /// </summary>
+        /// <returns></returns>
+        public bool GetStoreBrocadeWeavRewardRed()
+        {
+            return TaskDataManager.Instance.CheckTaskRewardCanGet(TaskFuncType.BattlePass)
+                || BattlePassTaskDataManager.Instance.CheckStoreBrocadeWeavRed();
+        }
+        /// <summary>
         /// 联盟
         /// </summary>
         /// <returns></returns>

+ 7 - 3
GameClient/Assets/Game/HotUpdate/Views/Store/StoreBrocadeWeavView.cs

@@ -41,7 +41,7 @@ namespace GFGGame
             _ui.m_tip.onClick.Add(RuleController.ShowRuleView);
             _ui.m_tip.data = 300012;
             _ui.m_LevelProcess.m_loaIcon.url =
-                ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(ConstItemID.BATTLE_PASS_CURRENCY).res);
+            ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(ConstItemID.BATTLE_PASS_CURRENCY).res);
         }
 
         protected override void OnHide()
@@ -206,7 +206,8 @@ namespace GFGGame
                 itemView.SetData(itemData);
                 itemView.ChangeTxtCountStyle();
                 itemView.GrpGotVisible = BattlePassTaskDataManager.Instance.CheckLevelRewardGet(level);
-                RedDotController.Instance.SetComRedDot(item.m_NormalReward, state == 1);
+                bool redDot = (!BattlePassTaskDataManager.Instance.CheckLevelRewardGet(level) && state == 1);
+                RedDotController.Instance.SetComRedDot(item.m_NormalReward, redDot);
             }
             else
             {
@@ -249,7 +250,8 @@ namespace GFGGame
             obj.data ??= itemView;
             itemView.SetData(itemData);
             itemView.ChangeTxtCountStyle();
-            if (keyValuePair.Item2) {
+            var isBuy = BattlePassTaskDataManager.Instance.GetIsBuy();
+            if (keyValuePair.Item2 && isBuy) {
                 RedDotController.Instance.SetComRedDot(itemView.GetGComponentObj, keyValuePair.Item3 == 1);
                 itemView.GrpGotVisible = keyValuePair.Item4;
             }
@@ -342,6 +344,8 @@ namespace GFGGame
                     BattlePassCfgArray.Instance.GetCfgsByid(BattlePassTaskDataManager.Instance.GetSeasonId()));
             //去掉第一个为0的配置
             _ui.m_RewardList.numItems = _rewardCfgs.Count - 1;
+            RedDotController.Instance.SetComRedDot(_ui.m_btnGetAll,
+              BattlePassTaskDataManager.Instance.CheckStoreBrocadeWeavRed());
         }
 
         private void SetOpenBattlePassBtnStatus()

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

@@ -227,12 +227,12 @@ namespace GFGGame
         private void UpdateStoreMonthRedDot()
         {
             RedDotController.Instance.SetComRedDot(_ui.m_comTab.m_btn1.target, RedDotDataManager.Instance.GetGoldCardRewardRed() || RedDotDataManager.Instance.GetBlackCardRewardRed() || RedDotDataManager.Instance.GetBlackCardClothingRed()
-                || TaskDataManager.Instance.CheckTaskRewardCanGet(TaskFuncType.BattlePass));
+                || RedDotDataManager.Instance.GetStoreBrocadeWeavRewardRed());
             if (_ui.m_comTab.m_c1.selectedIndex == ConstStoreTabId.STORE_MONTH_CARD)
             {
                 RedDotController.Instance.SetComRedDot(_ui.m_listSubTab.GetChildAt(ConstStoreSubId.STORE_MONTH_GOLD_CARD).asCom, RedDotDataManager.Instance.GetGoldCardRewardRed());
                 RedDotController.Instance.SetComRedDot(_ui.m_listSubTab.GetChildAt(ConstStoreSubId.STORE_MONTH_BLACK_CARD).asCom, RedDotDataManager.Instance.GetBlackCardRewardRed() || RedDotDataManager.Instance.GetBlackCardClothingRed());
-                RedDotController.Instance.SetComRedDot(_ui.m_listSubTab.GetChildAt(ConstStoreSubId.STORE_MONTH_BROCADE_WEAV).asCom, TaskDataManager.Instance.CheckTaskRewardCanGet(TaskFuncType.BattlePass));
+                RedDotController.Instance.SetComRedDot(_ui.m_listSubTab.GetChildAt(ConstStoreSubId.STORE_MONTH_BROCADE_WEAV).asCom, RedDotDataManager.Instance.GetStoreBrocadeWeavRewardRed());
             }
         }
     }