From 3c38893503de952157eac2bc1134e3f30b292537 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期五, 14 九月 2018 11:21:31 +0800
Subject: [PATCH] 3442运营活动修改
---
System/Welfare/OperationFlashSale.cs | 48 ----------------
System/OpenServerActivity/FlashSaleCoolDown.cs | 33 +++++++----
System/OpenServerActivity/FlashSaleWin.cs | 2
System/Welfare/OperationBase.cs | 48 ++++++++++++++++
4 files changed, 70 insertions(+), 61 deletions(-)
diff --git a/System/OpenServerActivity/FlashSaleCoolDown.cs b/System/OpenServerActivity/FlashSaleCoolDown.cs
index 5304715..56de4e9 100644
--- a/System/OpenServerActivity/FlashSaleCoolDown.cs
+++ b/System/OpenServerActivity/FlashSaleCoolDown.cs
@@ -12,7 +12,7 @@
private void OnEnable()
{
- DisplayTime();
+ SecondEvent();
GlobalTimeEvent.Instance.secondEvent -= SecondEvent;
GlobalTimeEvent.Instance.secondEvent += SecondEvent;
OperationTimeHepler.Instance.dayResetEvent -= DayResetEvent;
@@ -21,7 +21,7 @@
private void DayResetEvent(int resetType)
{
- DisplayTime();
+ SecondEvent();
}
private void SecondEvent()
@@ -30,8 +30,22 @@
if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.FlashSale, out operationBase))
{
var operation = (operationBase as OperationFlashSale);
- var seconds = operation.GetSurplusTime();
- m_Time.timeShow.color = seconds > 3600 ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red);
+ var seconds = operation.GetResetSurplusTime();
+ if (seconds * TimeSpan.TicksPerSecond >= TimeSpan.TicksPerDay || seconds <= 0)
+ {
+ if (m_Time.gameObject.activeSelf)
+ {
+ DisplayTime(0);
+ }
+ }
+ else
+ {
+ m_Time.timeShow.color = seconds > 3600 ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red);
+ if (!m_Time.gameObject.activeSelf)
+ {
+ DisplayTime(seconds);
+ }
+ }
}
}
@@ -41,15 +55,10 @@
OperationTimeHepler.Instance.dayResetEvent -= DayResetEvent;
}
- void DisplayTime()
+ void DisplayTime(int seconds)
{
- OperationBase operationBase;
- if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.FlashSale, out operationBase))
- {
- var seconds = (operationBase as OperationFlashSale).GetSurplusTime();
- m_Time.timeShow.color = seconds > 3600 ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red);
- m_Time.Begin(DateTime.Now.AddTicks(seconds * TimeSpan.TicksPerSecond));
- }
+ m_Time.timeShow.color = seconds > 3600 ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red);
+ m_Time.Begin(DateTime.Now.AddTicks(seconds * TimeSpan.TicksPerSecond));
}
}
}
diff --git a/System/OpenServerActivity/FlashSaleWin.cs b/System/OpenServerActivity/FlashSaleWin.cs
index 767f820..6918e87 100644
--- a/System/OpenServerActivity/FlashSaleWin.cs
+++ b/System/OpenServerActivity/FlashSaleWin.cs
@@ -132,7 +132,7 @@
if (operationBase != null)
{
OperationFlashSale operation = operationBase as OperationFlashSale;
- seconds = operation.GetSurplusTime();
+ seconds = operation.GetResetSurplusTime();
}
if (seconds > 0)
{
diff --git a/System/Welfare/OperationBase.cs b/System/Welfare/OperationBase.cs
index 86100e9..45b089b 100644
--- a/System/Welfare/OperationBase.cs
+++ b/System/Welfare/OperationBase.cs
@@ -206,6 +206,54 @@
return seconds;
}
+ public int GetResetSurplusTime()
+ {
+ var time = TimeUtility.ServerNow;
+ if (!InTime(time))
+ {
+ return 0;
+ }
+ var seconds = 0;
+ if (allDay)
+ {
+ if (!dayReset)
+ {
+ return GetSurplusTime(time);
+ }
+ if (resetType == 0)
+ {
+ DateTime endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
+ TimeUtility.Day, 0, 0, 0);
+ endOperationTime = endOperationTime.AddDays(1);
+ seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds;
+ }
+ else if (resetType == 1)
+ {
+ DateTime endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
+ TimeUtility.Day, DayResetHour, 0, 0);
+ if (time.Hour >= DayResetHour)
+ {
+ endOperationTime = endOperationTime.AddDays(1);
+ }
+ seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds;
+ }
+ }
+ else
+ {
+ for (int i = 0; i < times.Count; i++)
+ {
+ if (times[i].InTime(time))
+ {
+ DateTime endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
+ TimeUtility.Day, times[i].endHour, times[i].endMinute, 0);
+ seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds;
+ break;
+ }
+ }
+ }
+ return seconds;
+ }
+
public virtual string ToDisplayTime()
{
return string.Empty;
diff --git a/System/Welfare/OperationFlashSale.cs b/System/Welfare/OperationFlashSale.cs
index 5428205..e8c3bf6 100644
--- a/System/Welfare/OperationFlashSale.cs
+++ b/System/Welfare/OperationFlashSale.cs
@@ -85,54 +85,6 @@
return textBuilder.ToString();
}
- public int GetSurplusTime()
- {
- var time = TimeUtility.ServerNow;
- if (!InTime(time))
- {
- return 0;
- }
- var seconds = 0;
- if (allDay)
- {
- if (!dayReset)
- {
- return GetSurplusTime(time);
- }
- if (resetType == 0)
- {
- DateTime endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
- TimeUtility.Day, 0, 0, 0);
- endOperationTime = endOperationTime.AddDays(1);
- seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds;
- }
- else if (resetType == 1)
- {
- DateTime endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
- TimeUtility.Day, DayResetHour, 0, 0);
- if (time.Hour >= DayResetHour)
- {
- endOperationTime = endOperationTime.AddDays(1);
- }
- seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds;
- }
- }
- else
- {
- for (int i = 0; i < times.Count; i++)
- {
- if (times[i].InTime(time))
- {
- DateTime endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
- TimeUtility.Day, times[i].endHour, times[i].endMinute, 0);
- seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds;
- break;
- }
- }
- }
- return seconds;
- }
-
public void ParsePackage(HAA11_tagMCSpringSaleInfo package)
{
for (int i = 0; i < package.ShopCount; i++)
--
Gitblit v1.8.0