From 6fd40421640bf7a427ca4d5cf890cc41aa3575cd Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期一, 17 九月 2018 16:50:42 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

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

diff --git a/System/OpenServerActivity/FlashSaleCoolDown.cs b/System/OpenServerActivity/FlashSaleCoolDown.cs
index 56de4e9..95bd19c 100644
--- a/System/OpenServerActivity/FlashSaleCoolDown.cs
+++ b/System/OpenServerActivity/FlashSaleCoolDown.cs
@@ -9,6 +9,8 @@
     public class FlashSaleCoolDown : MonoBehaviour
     {
         [SerializeField] TimerBehaviour m_Time;
+        [SerializeField] RectTransform m_ContainerAdvance;
+        [SerializeField] Text m_AdvanceTime;
 
         private void OnEnable()
         {
@@ -30,20 +32,43 @@
             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)
+                bool inAdvance = false;
+                var seconds = 0;
+                if (operation.InAdvanceTime(TimeUtility.ServerNow))
+                {
+                    inAdvance = true;
+                    seconds = operation.GetSecondsBeforeStart(TimeUtility.ServerNow);
+                }
+                else
+                {
+                    seconds = operation.GetResetSurplusTime();
+                }
+
+                m_ContainerAdvance.gameObject.SetActive(inAdvance);
+                if (inAdvance)
                 {
                     if (m_Time.gameObject.activeSelf)
                     {
                         DisplayTime(0);
                     }
+                    DisplayAdvance(seconds);
                 }
                 else
                 {
-                    m_Time.timeShow.color = seconds > 3600 ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red);
-                    if (!m_Time.gameObject.activeSelf)
+                    if (seconds * TimeSpan.TicksPerSecond >= TimeSpan.TicksPerDay || seconds <= 0)
                     {
-                        DisplayTime(seconds);
+                        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);
+                        }
                     }
                 }
             }
@@ -60,6 +85,11 @@
             m_Time.timeShow.color = seconds > 3600 ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red);
             m_Time.Begin(DateTime.Now.AddTicks(seconds * TimeSpan.TicksPerSecond));
         }
+
+        void DisplayAdvance(int seconds)
+        {
+            m_AdvanceTime.text = Language.Get("OperationAdvanceOpen", TimeUtility.SecondsToHMS(seconds));
+        }
     }
 }
 

--
Gitblit v1.8.0