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