using System.Collections.Generic; namespace GFGGame { public class RedDotDataManager : SingletonBase { /// /// 公告 /// 是否有未读公告 /// /// public bool GetNoticeRed() { List noticeInfos = NoticeDataManager.Instance.NoticeInfos; for (int i = 0; i < noticeInfos.Count; i++) { if (noticeInfos[i].readStatus == false) return true; } return false; } /// /// 任务 /// 是否有任务奖励、任务宝箱奖励可领 /// /// public bool GetTaskRed() { Dictionary taskInfo = DailyTaskDataManager.Instance.TaskInfo; foreach (int key in taskInfo.Keys) { if (DailyTaskDataManager.Instance.GetTaskStateById(key) == ConstBonusStatus.CAN_GET) return true; } Dictionary livenessBoxInfos = DailyTaskDataManager.Instance.LivenessBoxInfos; foreach (int key in livenessBoxInfos.Keys) { if (DailyTaskDataManager.Instance.GetBoxStateById(key) == ConstBonusStatus.CAN_GET) return true; } return false; } /// /// 七天签到 /// /// public bool GetDailyLoginRed() { return ActivityDataManager.Instance.dailyLoginBonusStatus == ConstBonusStatus.CAN_GET; } /// /// 有邮件未读或未领奖励 /// /// public bool GetMailRed() { if (MailDataManager.Instance.UnreadCount > 0) return true; Dictionary mailInfoDic = MailDataManager.Instance.MailInfoDic; foreach (MailInfo mailInfo in mailInfoDic.Values) { if (MailDataManager.Instance.GetMailState(mailInfo) == 1) return false;//数据已排序,第一个已读,则所没有含奖邮件 if (MailDataManager.Instance.GetMailState(mailInfo) == 3) return false;//数据已排序,第一个已领,则所有奖励已领 if (MailDataManager.Instance.GetMailState(mailInfo) == 2) return true;//数据已排序,有奖励未领 } return false; } } }