Эх сурвалжийг харах

优化1元礼包显示判断

huangxiaoyue 1 жил өмнө
parent
commit
d2829bdf9f

+ 23 - 3
GameClient/Assets/Game/HotUpdate/Data/LimitedTimeGiftBoxDataManager.cs

@@ -105,14 +105,34 @@ namespace GFGGame
         }
 
         //1元礼包是否还可购买
-
         public bool SpecialOfferGiftBoxCanBuy()
         {
             var activityInfoByTypeList =
-              ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB1);
+             ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB1);
             var list = activityInfoByTypeList
                 .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
-            return list.Count > 0;
+            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;
+                    }
+                }
+            }
+
+            return !isSoldOut;
         }
 
         //获得特惠礼包展示的列表id

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

@@ -518,44 +518,15 @@ namespace GFGGame
         //列表样式
         private void UpGiftBox1()
         {
-            var activityInfoByTypeList =
-                ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB1);
+            _ui.m_btnGiftBag2.target.visible = LimitedTimeGiftBoxDataManager.Instance.SpecialOfferGiftBoxCanBuy();
 
-            var list = activityInfoByTypeList
-                .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
-            if (list.Count == 0)
-            {
-                _ui.m_btnGiftBag2.target.visible = false;
-            }
-            else
-            {
-                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 (_ui.m_btnGiftBag2.target.visible) {
+                var activityInfoByTypeList =
+               ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB1);
+                var list = activityInfoByTypeList
+                    .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
 
-                if (isSoldOut)
-                {
-                    _ui.m_btnGiftBag2.target.visible = false;
-                }
-                else
-                {
-                    _ui.m_btnGiftBag2.m_txtTime.text = TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), list[0].EndTime);
-                    _ui.m_btnGiftBag2.target.visible = true;
-                }
+                _ui.m_btnGiftBag2.m_txtTime.text = TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), list[0].EndTime);
             }
         }