123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using ET;
- namespace GFGGame
- {
- public class EnduringGiftBoxDataManager : SingletonBase<EnduringGiftBoxDataManager>
- {
- //当天已经领取的返利物品Id
- private static HashSet<int> _dayRebateItemIds = new HashSet<int>();
- public HashSet<int> DayRebateItemIds => _dayRebateItemIds;
- //当天可以领取的列表物品Id,剩余可以领取的天数
- private static Dictionary<int, int> _dayAllRebateItemDic = new Dictionary<int, int>();
- public Dictionary<int, int> 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;
- }
- }
- }
|