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