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