using System; using System.Collections; using System.Collections.Generic; using UnityEngine; namespace GFGGame { public class ActivityAfuGiftDataManager : SingletonBase { private ActivityInfo info; private bool _isBuy; //已经领奖levelId private HashSet _normalRewards = new HashSet(); //已经高级领奖levelId private HashSet _superRewards = new HashSet(); private List _rewardCfgs; public List RewardCfgs { get => _rewardCfgs; set => _rewardCfgs = value; } public ActivityInfo Info { get => info; set => info = value; } public void InitActivityInfo() { Info = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.AFZL); RewardCfgs = ActivityLoginCfgArray.Instance.GetCfgsByid(Info.ActivityId); } public int GetActivityDay(int activityID) { var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(activityID); return activityInfo == null ? 0 : TimeUtil.GetDay5(activityInfo.StartTime); } public int GetMaxPassDay() { int rewardDay = ActivityLoginCfgArray.Instance.GetCfgsByid(Info.ActivityId).Count; return Math.Min(rewardDay, GetActivityDay(Info.ActivityId)); } public long GetEndTime() { var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.AFZL); return activityInfo.EndTime; } public bool CanGetNormalReward(int id) { return !_normalRewards.Contains(id); } public bool CanGetSuperReward(int id) { return _isBuy && !_superRewards.Contains(id); } public void AddNormalReward(int levelId) { _normalRewards.Add(levelId); } public void AddSuperReward(int levelId) { _superRewards.Add(levelId); } public void SetIsBuy(bool isBuy) { _isBuy = isBuy; } public bool GetIsBuy() { return _isBuy; } } }