| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 | using ET;using System.Collections.Generic;using System.Linq;namespace GFGGame{    public class NoticeInfo    {        public int noticeId;        public string title;        public long time;//时间戳,单位秒        public string content = "";        public bool readStatus;//对应的读取状态,true为已读    }    public class NoticeDataManager : SingletonBase<NoticeDataManager>    {        private NoticeInfo _lastNoticeInfo;        public NoticeInfo LastNoticeInfo        {            get            {                return _lastNoticeInfo;            }            set            {                _lastNoticeInfo = value;            }        }        private List<NoticeInfo> _noticeInfos = new List<NoticeInfo>();        public List<NoticeInfo> NoticeInfos        {            get            {                return _noticeInfos;            }        }        private Dictionary<int, NoticeInfo> _noticeInfoDic = new Dictionary<int, NoticeInfo>();        public void UpdateNoticeIdList(NoticeInfo noticeInfo)        {            if (!_noticeInfoDic.ContainsKey(noticeInfo.noticeId))            {                _noticeInfoDic.Add(noticeInfo.noticeId, noticeInfo);            }            else            {                _noticeInfoDic[noticeInfo.noticeId] = noticeInfo;            }            NoticeDicToList();        }        public void UpdateNoticeContent(int noticeId, string content)        {            _noticeInfoDic[noticeId].content = content;            _noticeInfoDic[noticeId].readStatus = true;            NoticeDicToList();        }        public void UpdateSystemNoticeRemove(int noticeId)        {            if (_noticeInfoDic.ContainsKey(noticeId)) _noticeInfoDic.Remove(noticeId);            NoticeDicToList();        }        private void NoticeDicToList()        {            _noticeInfos = _noticeInfoDic.Values.ToList();            _noticeInfos.Sort((NoticeInfo a, NoticeInfo b) =>            {                return b.noticeId.CompareTo(a.noticeId);            });        }        public NoticeInfo GetNoticeInfoById(int noticeId)        {            return _noticeInfoDic[noticeId];        }        public List<AdCfg> UpdateShowActivity()        {            AdCfg[] activitydata = AdCfgArray.Instance.dataArray;            List<AdCfg> showActivity = new List<AdCfg>();            for (int i = 0; i < activitydata.Length; i++)            {                AdCfg adCfg = activitydata[i];                if (adCfg.activityId > 0)                {                    if (ActivityGlobalDataManager.Instance.GetActivityInfo(adCfg.activityId) == null) continue;                    ActivityInfo activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(adCfg.activityId);                    if (TimeHelper.ServerNow() < activityInfo.StartTime || TimeHelper.ServerNow() > activityInfo.EndTime) continue;                }                if (adCfg.NoticeTips != null && adCfg.NoticeTips != "")                {                    if (adCfg.activityId != 0)                    {                        ActivityInfo activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(adCfg.activityId);                        if (TimeHelper.ServerNow() < activityInfo.StartTime || TimeHelper.ServerNow() > activityInfo.EndTime)                        {                        }                        else                        {                            showActivity.Add(adCfg);                            continue;                        }                    }                    if (adCfg.startTime != "" && adCfg.startTime != null)                    {                        long startTime = TimeUtil.DateTimeToTimestamp(adCfg.startTime);                        long endTime = TimeUtil.DateTimeToTimestamp(adCfg.endTime);                        if (TimeHelper.ServerNow() < startTime || TimeHelper.ServerNow() > endTime)                        {                            continue;                        }                        else                        {                            showActivity.Add(adCfg);                        }                    }                }            }            return showActivity;        }        public bool GetRedDotState(string jumpId, int activityID)        {            switch (jumpId)            {                case "DailySignView":                    return RedDotDataManager.Instance.GetActivityDay7Red();                case "LuckyBoxView":                    return RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitTsy) || RedDotDataManager.Instance.GetLuckyBoxFreeTimes();                case "NewLimitChargeView":                    return RedDotDataManager.Instance.GetLimiteChargeRewardRed(activityID);                case "OpenServerActivityView":                    return RedDotDataManager.Instance.GetOpenServerRed();            }            return false;        }    }}
 |