From 854e3dc299be160df0210c8a26a494f3d4599f1d Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期四, 13 九月 2018 14:45:18 +0800
Subject: [PATCH] 3442运营活动修改
---
System/Welfare/OperationConsumeRebate.cs | 72 ++++++++++++++++++++++++++++++++++--
1 files changed, 68 insertions(+), 4 deletions(-)
diff --git a/System/Welfare/OperationConsumeRebate.cs b/System/Welfare/OperationConsumeRebate.cs
index 19eab6e..c630ec1 100644
--- a/System/Welfare/OperationConsumeRebate.cs
+++ b/System/Welfare/OperationConsumeRebate.cs
@@ -31,18 +31,82 @@
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 = _item.ItemCount,
+ isBind = _item.IsBind,
+ });
+ }
+ rebate.rebateGrades.Add(rebateGrade);
+ }
+ rebates.Add(rebate);
+ }
+ }
+
public Rebate GetRebate(DateTime time)
{
if (rebates.Count == 0)
{
return null;
}
- var index = IndexOfDays(time);
- if (index != -1 && index < rebates.Count)
+ var index = Mathf.Min(rebates.Count - 1, IndexOfRebates(time));
+ return rebates[index];
+ }
+
+ public int IndexOfRebates(DateTime time)
+ {
+ if (allDay)
{
- return rebates[index];
+ if (!dayReset)
+ {
+ return 0;
+ }
+ var index = IndexOfDays(time);
+ switch (resetType)
+ {
+ case 0:
+ return index;
+ case 1:
+ if (time.Hour < DayResetHour)
+ {
+ return Mathf.Max(0, index - 1);
+ }
+ else
+ {
+ return index;
+ }
+ default:
+ return index;
+ }
}
- return rebates[rebates.Count - 1];
+ else
+ {
+ var index = 0;
+ for (int i = 0; i < times.Count; i++)
+ {
+ if (times[i].InTime(time))
+ {
+ index = i;
+ break;
+ }
+ }
+ return index;
+ }
}
public class Rebate
--
Gitblit v1.8.0