using System; using System.Collections; using System.Collections.Generic; using UnityEngine; namespace vnxbqy.UI { public class OperationMultiRecharge : OperationBase { public List rewards = new List(); public override bool SatisfyOpenCondition() { return PlayerDatas.Instance.baseData.LV >= limitLv; } public override string ToDisplayTime() { var textBuilder = OperationTimeHepler.textBuilder; textBuilder.Length = 0; textBuilder.Append(startDate.ToDisplay()); if (startDate != endDate) { textBuilder.Append("—"); textBuilder.Append(endDate.ToDisplay()); } return textBuilder.ToString(); } public override void Reset() { base.Reset(); rewards.Clear(); } public void ParseMultiRecharge(HAA27_tagMCActRechargePrizeInfo package) { for (int i = 0; i < package.PrizeDays; i++) { var _reward = package.PrizeDayInfo[i]; Reward reward = new Reward(); for (int k = 0; k < _reward.Prizes; k++) { Recharge recharge = new Recharge(); recharge.CTGID = _reward.PrizeInfo[k].CTGID; recharge.GoldPrize = (int)_reward.PrizeInfo[k].GoldPrize; recharge.PrizeCountLimit = _reward.PrizeInfo[k].PrizeCountLimit; reward.recharges.Add(recharge); } rewards.Add(reward); } } public Reward GetReward(DateTime time) { if (rewards.Count == 0) { return null; } var index = Mathf.Min(rewards.Count - 1, IndexOfTime(time)); return rewards[index]; } public class Reward { public List recharges = new List(); } public class Recharge { public int CTGID; public int GoldPrize; public byte PrizeCountLimit; } } }