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