| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using ET;
 
- namespace GFGGame
 
- {
 
-     public class LimitedTimeGiftBoxDataManager : SingletonBase<LimitedTimeGiftBoxDataManager>
 
-     {
 
-         //每日特惠每次登录没有打开过就给红点
 
-         private bool _isOpenMeiRiTeHui = false;
 
-         public bool IsOpenMeiRiTeHui => _isOpenMeiRiTeHui;
 
-         //圆形样式数据4--等级条件的数据 
 
-         private List<LimitedTimeGiftBoxItemYxData> _ltgGbItemData4 = new List<LimitedTimeGiftBoxItemYxData>();
 
-         public List<LimitedTimeGiftBoxItemYxData> LtgGbItemData4 => _ltgGbItemData4;
 
-         //圆形样式数据5--时间条件的数据
 
-         private List<LimitedTimeGiftBoxItemYxData> _ltgGbItemData5 = new List<LimitedTimeGiftBoxItemYxData>();
 
-         public List<LimitedTimeGiftBoxItemYxData> LtgGbItemData5 => _ltgGbItemData5;
 
-         public void Clear()
 
-         {
 
-             _ltgGbItemData4.Clear();
 
-             _ltgGbItemData5.Clear();
 
-             _isOpenMeiRiTeHui = false;
 
-         }
 
-         public void SetIsOpenMeiRiTeHui()
 
-         {
 
-             _isOpenMeiRiTeHui = true;
 
-             EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
 
-         }
 
-         public void UpLtgGbItemData4()
 
-         {
 
-             _ltgGbItemData4.Clear();
 
-             foreach (ActivityInfo activityInfo in ActivityGlobalDataManager.Instance.GetActivityInfoByType(
 
-                          ActivityType.XSLB2))
 
-             {
 
-                 if (activityInfo.EndTime >= TimeInfo.Instance.ServerNow())
 
-                 {
 
-                     ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
 
-                     //判断是否是类型4的数据
 
-                     if (activityOpenCfg.type == ActivityType.XSLB2)
 
-                     {
 
-                         foreach (var shopCfgId in activityOpenCfg.paramsArr)
 
-                         {
 
-                             FillData(_ltgGbItemData4, shopCfgId, activityInfo.EndTime);
 
-                         }
 
-                     }
 
-                 }
 
-             }
 
-             _ltgGbItemData4 = _ltgGbItemData4.OrderBy(a => a.ShopCfgId).ToList();
 
-         }
 
-         public void UpLtgGbItemData5()
 
-         {
 
-             _ltgGbItemData5.Clear();
 
-             foreach (ActivityInfo activityInfo in ActivityGlobalDataManager.Instance.GetActivityInfoByType(
 
-                          ActivityType.XSLB3))
 
-             {
 
-                 if (activityInfo.EndTime >= TimeInfo.Instance.ServerNow())
 
-                 {
 
-                     ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
 
-                     //判断是否是类型4的数据
 
-                     if (activityOpenCfg.type == ActivityType.XSLB3)
 
-                     {
 
-                         FillData(_ltgGbItemData5, activityOpenCfg.paramsArr[0], activityInfo.EndTime);
 
-                     }
 
-                 }
 
-             }
 
-             _ltgGbItemData5 = _ltgGbItemData5.OrderBy(a => a.ShopCfgId).ToList();
 
-         }
 
-         private void FillData(List<LimitedTimeGiftBoxItemYxData> listData, int shopCfgId, long endTime)
 
-         {
 
-             ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(shopCfgId);
 
-             if (shopCfg == null)
 
-             {
 
-                 Log.Error("shopCfg is null");
 
-                 return;
 
-             }
 
-             var ltgGbItemData = listData.FirstOrDefault(a => a.ShopCfgId == shopCfgId);
 
-             if (ltgGbItemData == null)
 
-             {
 
-                 listData.Add(new LimitedTimeGiftBoxItemYxData
 
-                 {
 
-                     EndTime = endTime,
 
-                     ShopCfgId = shopCfg.id,
 
-                     IndexType = shopCfg.menu2
 
-                 });
 
-             }
 
-             else
 
-             {
 
-                 var index = listData.IndexOf(ltgGbItemData);
 
-                 ltgGbItemData.IndexType = shopCfg.menu2;
 
-                 ltgGbItemData.EndTime = endTime;
 
-                 listData[index] = ltgGbItemData;
 
-             }
 
-         }
 
-         //1元礼包是否还可购买
 
-         public bool SpecialOfferGiftBoxCanBuy()
 
-         {
 
-             var activityInfoByTypeList =
 
-              ActivityGlobalDataManager.Instance.GetActivityInfoByType(ActivityType.XSLB1);
 
-             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;
 
-                     }
 
-                 }
 
-             }
 
-             return !isSoldOut;
 
-         }
 
-         //获得特惠礼包展示的列表id
 
-         public List<int> TryShopCfg()
 
-         {
 
-             int activityId = 0;
 
-             foreach (ActivityInfo activityInfo in ActivityGlobalDataManager.Instance.GetActivityInfoByType(
 
-                        ActivityType.XSLB1))
 
-             {
 
-                 if (activityInfo.EndTime >= TimeInfo.Instance.ServerNow()) { 
 
-                     activityId = activityInfo.ActivityId;
 
-                     break;
 
-                 }
 
-             }
 
-             ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityId);
 
-             List<int> shopCfgIds = new List<int>();
 
-             bool same = false;
 
-             int sellShowId = 0;
 
-             var paramsArr = activityOpenCfg.paramsArr;
 
-             var params2Arr = activityOpenCfg.params2Arr;
 
-             for (int j = 0; j < params2Arr.Length; j++)
 
-             {
 
-                 for (int i = 0; i < paramsArr.Length; i++)
 
-                 {
 
-                     if (params2Arr[j] == paramsArr[i])
 
-                     {
 
-                         var shopCfg = ShopCfgArray.Instance.GetCfg(paramsArr[i]);
 
-                         bool isSellOut = shopCfg.maxBuyNum > 0 &&
 
-                             shopCfg.maxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(shopCfg.id) <= 0;
 
-                         if (!isSellOut)
 
-                             sellShowId = paramsArr[i];
 
-                         break;
 
-                     }
 
-                 }
 
-                 if (sellShowId > 0)
 
-                     break;
 
-             }
 
-             if (sellShowId <= 0)
 
-                 sellShowId = params2Arr[params2Arr.Length - 1];
 
-             shopCfgIds.Add(sellShowId);
 
-             for (int i = 0; i < paramsArr.Length; i++)
 
-             {
 
-                 same = false;
 
-                 for (int j = 0; j < params2Arr.Length; j++)
 
-                 {
 
-                     if (params2Arr[j] == paramsArr[i])
 
-                     {
 
-                         same = true;
 
-                         break;
 
-                     }
 
-                 }
 
-                 if (!same)
 
-                     shopCfgIds.Add(paramsArr[i]);
 
-             }
 
-             return shopCfgIds;
 
-         }
 
-     }
 
- }
 
 
  |