using System; using System.Collections; using System.Collections.Generic; using ET; namespace GFGGame { public class EnduringGiftBoxDataManager : SingletonBase { //当天已经领取的返利物品Id private static HashSet _dayRebateItemIds = new HashSet(); public HashSet DayRebateItemIds => _dayRebateItemIds; //当天可以领取的列表物品Id,剩余可以领取的天数 private static Dictionary _dayAllRebateItemDic = new Dictionary(); public Dictionary DayAllRebateItemDic => _dayAllRebateItemDic; public void Clear() { _dayRebateItemIds.Clear(); _dayAllRebateItemDic.Clear(); } public void AddDayRebateItemIds(int itemId) { _dayRebateItemIds.Add(itemId); } //领取返利,更新数据 public void UpDayRebateInfo(int itemId) { _dayRebateItemIds.Add(itemId); if (!_dayAllRebateItemDic.TryGetValue(itemId, out var num)) return; if (num <= 0) { return; } _dayAllRebateItemDic[itemId] = num - 1; } public void UpDayAllRebateItemDic(int itemId, int day) { _dayAllRebateItemDic[itemId] = day; } public int GetItemRebateDay(int itemId) { return _dayAllRebateItemDic.TryGetValue(itemId, out var day) ? day : 0; } //当天是否需要领取该返利物品 public bool DayIsRebateGiftBox(int itemId) { if (!_dayAllRebateItemDic.ContainsKey(itemId)) { return false; } if (_dayRebateItemIds.Contains(itemId)) { return false; } //需要领取 return true; } } }