From a14173f2788287574561b279a7fe09c3d05ea7ea Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期一, 17 九月 2018 15:41:41 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/OpenServerActivity/FlashSaleCoolDown.cs |   37 ++++++++++++++++++++++++++++++++-----
 1 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/System/OpenServerActivity/FlashSaleCoolDown.cs b/System/OpenServerActivity/FlashSaleCoolDown.cs
index d726c93..56de4e9 100644
--- a/System/OpenServerActivity/FlashSaleCoolDown.cs
+++ b/System/OpenServerActivity/FlashSaleCoolDown.cs
@@ -12,25 +12,52 @@
 
         private void OnEnable()
         {
-            DisplayTime();
+            SecondEvent();
             GlobalTimeEvent.Instance.secondEvent -= SecondEvent;
             GlobalTimeEvent.Instance.secondEvent += SecondEvent;
+            OperationTimeHepler.Instance.dayResetEvent -= DayResetEvent;
+            OperationTimeHepler.Instance.dayResetEvent += DayResetEvent;
+        }
+
+        private void DayResetEvent(int resetType)
+        {
+            SecondEvent();
         }
 
         private void SecondEvent()
         {
-            var seconds = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.FlashSale);
-            m_Time.timeShow.color = seconds > 3600 ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red);
+            OperationBase operationBase;
+            if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.FlashSale, out operationBase))
+            {
+                var operation = (operationBase as OperationFlashSale);
+                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);
+                    }
+                }
+            }
         }
 
         private void OnDisable()
         {
             GlobalTimeEvent.Instance.secondEvent -= SecondEvent;
+            OperationTimeHepler.Instance.dayResetEvent -= DayResetEvent;
         }
 
-        void DisplayTime()
+        void DisplayTime(int seconds)
         {
-            var seconds = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.FlashSale);
+            m_Time.timeShow.color = seconds > 3600 ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red);
             m_Time.Begin(DateTime.Now.AddTicks(seconds * TimeSpan.TicksPerSecond));
         }
     }

--
Gitblit v1.8.0