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