| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 | using System;using System.Collections.Generic;using System.Linq;using ET;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)                        {                            var index = _ltgGbItemData3.IndexOf(ltgGbItemData);                            ltgGbItemData.EndTime = activityInfo.endTime;                            if (ltgGbItemData.ShopCfgIds != null)                            {                                if (ltgGbItemData.ShopCfgIds.Count < 3)                                {                                    ltgGbItemData.ShopCfgIds.Add(shopCfgId);                                }                            }                            else                            {                                ltgGbItemData.ShopCfgIds = new List<int> { shopCfgId };                            }                            _ltgGbItemData3[index] = 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;            }        }    }}
 |