何晓捷 пре 2 година
родитељ
комит
0eb2ae4499

+ 13 - 0
GameClient/Assets/Game/HotUpdate/Data/ItemDataManager.cs

@@ -314,5 +314,18 @@ namespace GFGGame
             }
             return false;
         }
+
+        /// <summary>
+        /// 检测背包中是否存在礼包
+        /// </summary>
+        /// <returns></returns>
+        public static bool BagIsExistGiftBag()
+        {
+            var isExistGiftBag = _dataDic.Values.Any(a =>
+                (a.itemType == ConstItemType.USEABLE && a.subType == ConstItemSubType.USEABLE_GIFT_BAG_SELECTABLE) ||
+                (a.itemType == ConstItemType.USEABLE && a.subType == ConstItemSubType.USEABLE_GIFT_BAG_RANDOM));
+
+            return isExistGiftBag;
+        }
     }
 }

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Data/LimitedTimeGiftBoxDataManager.cs

@@ -7,6 +7,10 @@ namespace GFGGame
 {
     public class LimitedTimeGiftBoxDataManager : SingletonBase<LimitedTimeGiftBoxDataManager>
     {
+        //每日特惠每次登录没有打开过就给红点
+        private bool _isOpenMeiRiTeHui = false;
+        public bool IsOpenMeiRiTeHui => _isOpenMeiRiTeHui;
+        
         //列表数据3--等级条件的数据
         private List<LimitedTimeGiftBoxItemData> _ltgGbItemData3 = new List<LimitedTimeGiftBoxItemData>();
         public List<LimitedTimeGiftBoxItemData> LtgGbItemData3 => _ltgGbItemData3;
@@ -24,6 +28,13 @@ namespace GFGGame
             _ltgGbItemData3.Clear();
             _ltgGbItemData4.Clear();
             _ltgGbItemData5.Clear();
+            _isOpenMeiRiTeHui = false;
+        }
+
+        public void SetIsOpenMeiRiTeHui()
+        {
+            _isOpenMeiRiTeHui = true;
+            EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
         }
 
         public void UpLtgGbItemData3()

+ 37 - 0
GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs

@@ -390,5 +390,42 @@ namespace GFGGame
             }
             return false;
         }
+
+        /// <summary>
+        /// 摘星-每日特惠
+        /// </summary>
+        /// <returns></returns>
+        public bool GetMeiRiTeHuiRed()
+        {
+            return !LimitedTimeGiftBoxDataManager.Instance.IsOpenMeiRiTeHui;
+        }
+        
+        /// <summary>
+        /// 背包中存在礼包就一直给主界面 背包 红点
+        /// </summary>
+        /// <returns></returns>
+        public bool GetMainBagGiftRed()
+        {
+            return ItemDataManager.BagIsExistGiftBag();
+        }
+
+        // /// <summary>
+        // /// 背包内 是礼包物品就一直给红点
+        // /// </summary>
+        // /// <returns></returns>
+        // public bool GetBagGiftRed(int itemId)
+        // {
+        //     ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+        //     if (itemCfg.itemType == ConstItemType.USEABLE)
+        //     {
+        //         if (itemCfg.subType == ConstItemSubType.USEABLE_GIFT_BAG_SELECTABLE ||
+        //             itemCfg.subType == ConstItemSubType.USEABLE_GIFT_BAG_RANDOM)
+        //         {
+        //             return true;
+        //         }
+        //     }
+        //
+        //     return false;
+        // }
     }
 }

+ 2 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/ItemProxy.cs

@@ -108,6 +108,7 @@ namespace GFGGame
                 {
                     List<ItemData> items = ItemUtil.CreateItemDataList(response.GotItemList);
                     BonusController.TryShowBonusList(items);
+                    EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
                     return true;
                 }
             }
@@ -127,6 +128,7 @@ namespace GFGGame
                 {
                     List<ItemData> items = ItemUtil.CreateItemDataList(response.GotItemList);
                     BonusController.TryShowBonusList(items);
+                    EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
                     return true;
                 }
             }

+ 1 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/ShopSProxy.cs

@@ -52,6 +52,7 @@ namespace GFGGame
                     EventAgent.DispatchEvent(ConstMessage.CONTINUOUS_REBATE_GIFT_SHOP_BUY, shopCfg);
                     BonusController.TryShowBonusList(itemDatas);
                     EventAgent.DispatchEvent(ConstMessage.SHOP_BUY);
+                    EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
                     return true;
                 }
             }

+ 9 - 0
GameClient/Assets/Game/HotUpdate/Views/Bag/BagView.cs

@@ -96,6 +96,15 @@ namespace GFGGame
             item.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg);
             item.m_txtCount.SetVar("count", itemData.num.ToString()).FlushVars();
             item.target.data = itemCfg;
+            //是礼包就加入红点
+            // if (itemCfg.itemType == ConstItemType.USEABLE)
+            // {
+            //     if (itemCfg.subType == ConstItemSubType.USEABLE_GIFT_BAG_SELECTABLE ||
+            //         itemCfg.subType == ConstItemSubType.USEABLE_GIFT_BAG_RANDOM)
+            //     {
+            //         RedDotController.Instance.SetComRedDot(item.target, true);
+            //     }
+            // }
         }
 
         private void OnListItemClick(EventContext context)

+ 5 - 1
GameClient/Assets/Game/HotUpdate/Views/EnduringGiftBox/RushSaleGiftBoxView.cs

@@ -128,10 +128,14 @@ namespace GFGGame
             }
             else if (_type == ActivityType.XSLB3)
             {
-                //5
+                //5摘星里面的 每日特惠
                 var data5 = LimitedTimeGiftBoxDataManager.Instance.LtgGbItemData5
                     .FirstOrDefault(a => a.IndexType == 1);
                 _pageIndex = data5 == null ? 0 : LimitedTimeGiftBoxDataManager.Instance.LtgGbItemData5.IndexOf(data5);
+                if (!LimitedTimeGiftBoxDataManager.Instance.IsOpenMeiRiTeHui)
+                {
+                    LimitedTimeGiftBoxDataManager.Instance.SetIsOpenMeiRiTeHui();
+                }
             }
         }
 

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxActivityView.cs

@@ -287,6 +287,7 @@ namespace GFGGame
         private void UpdateRedDot()
         {
             RedDotController.Instance.SetComRedDot(_ui.m_btnReward, RedDotDataManager.Instance.GetActLuckyBoxRewardRed(), "", -18, 11);
+            RedDotController.Instance.SetComRedDot(_ui.m_btnGiftBag, RedDotDataManager.Instance.GetMeiRiTeHuiRed(), "", -18, 11);
         }
 
         protected override void UpdateToCheckGuide(object param)

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs

@@ -1015,7 +1015,7 @@ namespace GFGGame
             RedDotController.Instance.SetComRedDot(_btnLeague, RedDotDataManager.Instance.GetLeagueMemberJoinRed() || LeagueDataManager.Instance.Type == LeagueJoinType.UnJoin);
             RedDotController.Instance.SetComRedDot(_ui.m_btnDailyWelfare.target, RedDotDataManager.Instance.GetLimiteChargeRewardRed(), "", -10, 5);
             RedDotController.Instance.SetComRedDot(_ui.m_btnActivityLuckyBox.target, RedDotDataManager.Instance.GetActLuckyBoxRewardRed(), "", -10, 5);
-
+            RedDotController.Instance.SetComRedDot(_btnBag, RedDotDataManager.Instance.GetMainBagGiftRed());
         }
 
         private void CheckGuide(object param)