| using System; | 
| using System.Collections; | 
| using System.Collections.Generic; | 
| using UnityEngine; | 
| namespace vnxbqy.UI | 
| { | 
|     public class OperationMultiRecharge : OperationBase | 
|     { | 
|         public List<Reward> rewards = new List<Reward>(); | 
|         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<Recharge> recharges = new List<Recharge>(); | 
|         } | 
|   | 
|         public class Recharge | 
|         { | 
|             public int CTGID; | 
|             public int GoldPrize; | 
|             public byte PrizeCountLimit; | 
|         } | 
|   | 
|   | 
|     } | 
| } |