using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
namespace vnxbqy.UI
|
{
|
public class OperationConsumeRebate : OperationBase
|
{
|
public List<Rebate> rebates = new List<Rebate>();
|
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();
|
rebates.Clear();
|
}
|
|
public void ParseRebate(HAA09_tagMCCostRebateInfo package)
|
{
|
for (int i = 0; i < package.AwardDays; i++)
|
{
|
var _rebate = package.AwardDayInfo[i];
|
Rebate rebate = new Rebate();
|
for (int k = 0; k < _rebate.AwardCount; k++)
|
{
|
RebateGrade rebateGrade = new RebateGrade();
|
rebateGrade.needGold = (int)_rebate.AwardInfo[k].NeedGold;
|
rebateGrade.index = _rebate.AwardInfo[k].AwardIndex;
|
for (int q = 0; q < _rebate.AwardInfo[k].AwardItemCount; q++)
|
{
|
var _item = _rebate.AwardInfo[k].AwardItem[q];
|
rebateGrade.items.Add(new Item()
|
{
|
itemId = (int)_item.ItemID,
|
count = (int)_item.ItemCount,
|
});
|
}
|
rebate.rebateGrades.Add(rebateGrade);
|
}
|
rebates.Add(rebate);
|
}
|
}
|
|
public Rebate GetRebate(DateTime time)
|
{
|
if (rebates.Count == 0)
|
{
|
return null;
|
}
|
var index = Mathf.Min(rebates.Count - 1, IndexOfTime(time));
|
return rebates[index];
|
}
|
|
public class Rebate
|
{
|
public List<RebateGrade> rebateGrades = new List<RebateGrade>();
|
}
|
|
public class RebateGrade
|
{
|
public int needGold;
|
public int index;//奖励索引
|
public List<Item> items = new List<Item>();
|
}
|
|
public struct Item
|
{
|
public int itemId;
|
public int count;
|
}
|
}
|
}
|
|