Ver código fonte

修复摘星限时礼包红点

何晓捷 2 anos atrás
pai
commit
1e04db4ac2

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

@@ -492,6 +492,40 @@ namespace GFGGame
         /// <returns></returns>
         /// <returns></returns>
         public bool GetMeiRiTeHuiRed()
         public bool GetMeiRiTeHuiRed()
         {
         {
+            var activityInfoByTypeList =
+                ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB3);
+
+            var list = activityInfoByTypeList
+                .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
+
+            if (list.Count == 0)
+            {
+                return false;
+            }
+
+            bool isSoldOut = true;
+            foreach (var activityInfo in list)
+            {
+                ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
+                var paramsArr = activityOpenCfg.paramsArr;
+                foreach (var shopCfgId in paramsArr)
+                {
+                    var shopCfg = ShopCfgArray.Instance.GetCfg(shopCfgId);
+                    var remainBuyNum = shopCfg.maxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(shopCfgId);
+                    //只要有一个商品还能购买,就不是售罄
+                    if (remainBuyNum > 0)
+                    {
+                        isSoldOut = false;
+                        break;
+                    }
+                }
+            }
+
+            if (isSoldOut)
+            {
+                return false;
+            }
+
             return !LimitedTimeGiftBoxDataManager.Instance.IsOpenMeiRiTeHui;
             return !LimitedTimeGiftBoxDataManager.Instance.IsOpenMeiRiTeHui;
         }
         }