|
@@ -0,0 +1,169 @@
|
|
|
+using System;
|
|
|
+using System.Collections;
|
|
|
+using System.Collections.Concurrent;
|
|
|
+using System.Collections.Generic;
|
|
|
+using System.Linq;
|
|
|
+using ET;
|
|
|
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
|
|
|
+using UI.DressUp;
|
|
|
+
|
|
|
+namespace GFGGame
|
|
|
+{
|
|
|
+ public class LimitedTimeGiftBoxDataManager : SingletonBase<LimitedTimeGiftBoxDataManager>
|
|
|
+ {
|
|
|
+ //列表数据3--等级条件的数据
|
|
|
+ private List<LimitedTimeGiftBoxItemData> _ltgGbItemData3 = new List<LimitedTimeGiftBoxItemData>();
|
|
|
+ public List<LimitedTimeGiftBoxItemData> LtgGbItemData3 => _ltgGbItemData3;
|
|
|
+
|
|
|
+ //圆形样式数据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()
|
|
|
+ {
|
|
|
+ _ltgGbItemData3.Clear();
|
|
|
+ _ltgGbItemData4.Clear();
|
|
|
+ _ltgGbItemData5.Clear();
|
|
|
+ }
|
|
|
+
|
|
|
+ public void UpLtgGbItemData3()
|
|
|
+ {
|
|
|
+ _ltgGbItemData3.Clear();
|
|
|
+ foreach (ActivityInfo activityInfo in ActivityGlobalDataManager.Instance.GetActivityInfoByType(
|
|
|
+ ActivityType.XSLB1))
|
|
|
+ {
|
|
|
+ if (activityInfo.endTime >= TimeInfo.Instance.ServerNow())
|
|
|
+ {
|
|
|
+ ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.activityId);
|
|
|
+ var paramsArr = activityOpenCfg.paramsArr;
|
|
|
+ Array.Sort(paramsArr);
|
|
|
+ foreach (var shopCfgId in paramsArr)
|
|
|
+ {
|
|
|
+ ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(shopCfgId);
|
|
|
+
|
|
|
+ if (shopCfg == null)
|
|
|
+ {
|
|
|
+ Log.Error("shopCfg is null");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ LimitedTimeGiftBoxItemData ltgGbItemData =
|
|
|
+ _ltgGbItemData3.FirstOrDefault(a => a.IndexType == shopCfg.menu2);
|
|
|
+ if (ltgGbItemData != null)
|
|
|
+ {
|
|
|
+ if (ltgGbItemData.ShopCfgIds != null)
|
|
|
+ {
|
|
|
+ if (ltgGbItemData.ShopCfgIds.Count < 3)
|
|
|
+ {
|
|
|
+ ltgGbItemData.ShopCfgIds.Add(shopCfgId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ ltgGbItemData.ShopCfgIds = new List<int> { shopCfgId };
|
|
|
+ }
|
|
|
+
|
|
|
+ ltgGbItemData.EndTime = activityInfo.endTime;
|
|
|
+ _ltgGbItemData3.Add(ltgGbItemData);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ ltgGbItemData = new LimitedTimeGiftBoxItemData
|
|
|
+ {
|
|
|
+ IndexType = shopCfg.menu2,
|
|
|
+ ShopCfgIds = new List<int> { shopCfgId },
|
|
|
+ EndTime = activityInfo.endTime
|
|
|
+ };
|
|
|
+
|
|
|
+ _ltgGbItemData3.Add(ltgGbItemData);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //排序
|
|
|
+ foreach (var item in _ltgGbItemData3)
|
|
|
+ {
|
|
|
+ item.ShopCfgIds = item.ShopCfgIds.OrderBy(id => id).ToList();
|
|
|
+ }
|
|
|
+
|
|
|
+ _ltgGbItemData3 = _ltgGbItemData3.OrderBy(a => a.IndexType).ToList();
|
|
|
+ }
|
|
|
+
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|