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; return false; } /// /// 套装收集奖励可领 /// /// public bool GetFieldGuideRed() { List _suitIds = SuitUtil.GetSuitIdList(false, true, 0, 3);//全部已获得套装按照收集度高排序 for (int i = 0; i < _suitIds.Count; i++) { int status = DressUpMenuSuitDataManager.GetSuitGuideBonusStatus(_suitIds[i]); if (status == ConstBonusStatus.CAN_GET) { return true; } } return false; } /// /// 根据章节Id判断是否有奖励可领 /// /// public bool GetChapterRed(int chapterId) { for (int i = 0; i < 3; i++) { int state = MainStoryDataManager.GetChapterBonusStatus(chapterId, i); if (state == ConstBonusStatus.CAN_GET) { return true; } } return false; } /// /// 好友红点 /// /// public bool GetFriendRed() { return GetFriendApplyRed() || GetFriendGiftRed(); } /// /// 是否有好友申请 /// /// public bool GetFriendApplyRed() { return FriendDataManager.Instance.ApplyDatas.Count > 0; } /// /// 是否有好友可领体力 /// /// public bool GetFriendGiftRed() { ET.Log.Debug("zoya:count:" + FriendDataManager.Instance.Count); if (FriendDataManager.Instance.Count >= GlobalCfgArray.globalCfg.maxGetPowerCount) return false; List friendInfos = FriendDataManager.Instance.FriendDatas; for (int i = 0; i < friendInfos.Count; i++) { if (friendInfos[i].takeGiftState == ConstBonusStatus.CAN_GET) { return true; } } return false; } /// /// 商城-礼包红点 /// /// public bool GetRechargeGiftFreeRed() { List _giftCfgs = RechargeDataManager.Instance.GetGiftBagCfgs(); for (int i = 0; i < _giftCfgs.Count; i++) { GiftBagCfg cfg = _giftCfgs[i]; bool isUnLock = RechargeDataManager.Instance.GetGiftStateById(cfg.id); int buyNum = RechargeDataManager.Instance.GetGiftBuyNumById(cfg.id); bool canBuy = cfg.maxBuyNum == 0 || buyNum < cfg.maxBuyNum ? true : false; if (isUnLock && canBuy && cfg.price == 0) return true; } return false; } /// /// 田野调查红点 /// /// public bool GetFieldRed() { List _cfgs = FieldDataManager.Instance.GetTaskCfgs(); for (int i = 0; i < _cfgs.Count; i++) { int state = FieldDataManager.Instance.GetTaskState(_cfgs[i].id); if (state == ConstBonusStatus.CAN_GET) return true; } return false; } } }