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;
- }
- }
- }
|