From 498ec5c5d03765bbd87c3f75cbe68dd0d413baf9 Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期一, 13 八月 2018 15:27:18 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/OpenServerActivity/OpenServerActivityWin.cs |  107 +++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 82 insertions(+), 25 deletions(-)

diff --git a/System/OpenServerActivity/OpenServerActivityWin.cs b/System/OpenServerActivity/OpenServerActivityWin.cs
index 07f3b95..1f3b9b8 100644
--- a/System/OpenServerActivity/OpenServerActivityWin.cs
+++ b/System/OpenServerActivity/OpenServerActivityWin.cs
@@ -47,8 +47,11 @@
 
         ConsumeRebateModel consumeRebateModel { get { return ModelCenter.Instance.GetModel<ConsumeRebateModel>(); } }
 
+        MultipleExpModel multipleExpModel { get { return ModelCenter.Instance.GetModel<MultipleExpModel>(); } }
+
         List<int> openActivitys = new List<int>();
         List<int> activityReds = new List<int>();
+        List<int> alreadyOpenActivitys = new List<int>();
 
         protected override void BindController()
         {
@@ -64,6 +67,7 @@
         protected override void OnPreOpen()
         {
             TimeUtility.OnServerOpenDayRefresh += OnStepServerDayEvent;
+            OperationTimeHepler.Instance.operationTimeUpdateEvent += OperationTimeUpdateEvent;
             for (int i = 0; i < m_SortArray.Count; i++)
             {
                 m_ActivitySpreadDict[m_SortArray[i]] = false;
@@ -71,6 +75,7 @@
             impactRankModel.presentSelectType = impactRankModel.GetDefaultSelectType();
             impactRankModel.gotoImpactRankType = 0;
             envelopeModel.selectType = 1;
+            CheckAlreadyOpen();
             UpdateFunctionBtns();
         }
 
@@ -113,6 +118,7 @@
         protected override void OnPreClose()
         {
             TimeUtility.OnServerOpenDayRefresh -= OnStepServerDayEvent;
+            OperationTimeHepler.Instance.operationTimeUpdateEvent -= OperationTimeUpdateEvent;
             CloseOtherWin();
             WindowCenter.Instance.Open<MainInterfaceWin>();
             impactRankModel.gotoImpactRankType = 0;
@@ -135,7 +141,6 @@
                     activityReds.Add(3);
                 }
             }
-
             if (OpenServerActivityCenter.Instance.IsFlashSaleOpen())
             {
                 openActivitys.Add(4);
@@ -144,7 +149,6 @@
                     activityReds.Add(4);
                 }
             }
-
             if (OpenServerActivityCenter.Instance.IsImpactRankOpen())
             {
                 openActivitys.Add(0);
@@ -153,7 +157,6 @@
                     activityReds.Add(0);
                 }
             }
-
             if (OpenServerActivityCenter.Instance.IsRedEnvelopeOpen())
             {
                 openActivitys.Add(2);
@@ -168,13 +171,20 @@
                     envelopeModel.selectType = 2;
                 }
             }
-
             if (OpenServerActivityCenter.Instance.IsConsumeRebateOpen())
             {
                 openActivitys.Add(1);
                 if (consumeRebateModel.consumeRebateRedpoint.state == RedPointState.Simple)
                 {
                     activityReds.Add(1);
+                }
+            }
+            if (OpenServerActivityCenter.Instance.IsMultipleExpOpen())
+            {
+                openActivitys.Add(5);
+                if (multipleExpModel.multipleExpRedpoint.state == RedPointState.Simple)
+                {
+                    activityReds.Add(5);
                 }
             }
 
@@ -187,6 +197,35 @@
             {
                 openActivitys.Sort(Compare);
                 return openActivitys[0];
+            }
+        }
+
+        void CheckAlreadyOpen()
+        {
+            alreadyOpenActivitys.Clear();
+            if (OpenServerActivityCenter.Instance.IsTimeLimitGiftOpen())
+            {
+                alreadyOpenActivitys.Add(3);
+            }
+            if (OpenServerActivityCenter.Instance.IsFlashSaleOpen())
+            {
+                alreadyOpenActivitys.Add(4);
+            }
+            if (OpenServerActivityCenter.Instance.IsImpactRankOpen())
+            {
+                alreadyOpenActivitys.Add(0);
+            }
+            if (OpenServerActivityCenter.Instance.IsRedEnvelopeOpen())
+            {
+                alreadyOpenActivitys.Add(2);
+            }
+            if (OpenServerActivityCenter.Instance.IsConsumeRebateOpen())
+            {
+                alreadyOpenActivitys.Add(1);
+            }
+            if (OpenServerActivityCenter.Instance.IsMultipleExpOpen())
+            {
+                alreadyOpenActivitys.Add(5);
             }
         }
 
@@ -205,7 +244,19 @@
 
         private void RefreshOpenActivityCell(OpenServerActivityCell _cell)
         {
-            _cell.title.text = Language.Get(StringUtility.Contact("OSActivityTitle_", _cell.index));
+            switch (_cell.index)
+            {
+                case 5:
+                    OperationBase operationBase;
+                    if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.MultipleExp, out operationBase))
+                    {
+                        _cell.title.text = Language.Get("ExpActivity_Text5", (operationBase as OperationMultiExp).GetMultipleCHS());
+                    }
+                    break;
+                default:
+                    _cell.title.text = Language.Get(StringUtility.Contact("OSActivityTitle_", _cell.index));
+                    break;
+            }
             _cell.order = _cell.index;
             _cell.redpoint.redpointId = MainRedDot.REDPOINT_OPENSERVER * 100 + _cell.index;
             _cell.ChangeState(_cell.order == functionOrder ? TitleBtnState.Click : TitleBtnState.Normal);
@@ -253,13 +304,13 @@
             for (int i = 0; i < m_SortArray.Count; i++)
             {
                 var sort = m_SortArray[i];
+                if (!alreadyOpenActivitys.Contains(sort))
+                {
+                    continue;
+                }
                 switch (sort)
                 {
                     case 0:
-                        if (!OpenServerActivityCenter.Instance.IsImpactRankOpen())
-                        {
-                            continue;
-                        }
                         m_ActivityCtrl.AddCell(ScrollerDataType.Header, sort);
                         if (functionOrder != sort)
                         {
@@ -275,17 +326,9 @@
                         }
                         break;
                     case 1:
-                        if (!OpenServerActivityCenter.Instance.IsConsumeRebateOpen())
-                        {
-                            continue;
-                        }
                         m_ActivityCtrl.AddCell(ScrollerDataType.Header, sort);
                         continue;
                     case 2:
-                        if (!OpenServerActivityCenter.Instance.IsRedEnvelopeOpen())
-                        {
-                            continue;
-                        }
                         m_ActivityCtrl.AddCell(ScrollerDataType.Header, sort);
                         if (!m_ActivitySpreadDict[sort])
                         {
@@ -295,17 +338,12 @@
                         m_ActivityCtrl.AddCell(ScrollerDataType.Normal, sort * 100 + 2);
                         break;
                     case 3:
-                        if (!OpenServerActivityCenter.Instance.IsTimeLimitGiftOpen())
-                        {
-                            continue;
-                        }
                         m_ActivityCtrl.AddCell(ScrollerDataType.Header, sort);
                         break;
                     case 4:
-                        if (!OpenServerActivityCenter.Instance.IsFlashSaleOpen())
-                        {
-                            continue;
-                        }
+                        m_ActivityCtrl.AddCell(ScrollerDataType.Header, sort);
+                        break;
+                    case 5:
                         m_ActivityCtrl.AddCell(ScrollerDataType.Header, sort);
                         break;
                 }
@@ -387,6 +425,16 @@
                         WindowCenter.Instance.Open<FlashSaleWin>(true);
                     }
                     break;
+                case 5:
+                    if (windowState == WindowState.Opened)
+                    {
+                        WindowCenter.Instance.OpenWithoutAnimation<MultipleExpWin>();
+                    }
+                    else
+                    {
+                        WindowCenter.Instance.Open<MultipleExpWin>(true);
+                    }
+                    break;
             }
         }
 
@@ -413,6 +461,7 @@
             WindowCenter.Instance.CloseImmediately<OSTimeLimitGiftWin>();
             WindowCenter.Instance.CloseImmediately<FlashSaleWin>();
             WindowCenter.Instance.CloseImmediately<ConsumeRebateWin>();
+            WindowCenter.Instance.CloseImmediately<MultipleExpWin>();
         }
 
         private int Compare(int x, int y)
@@ -421,6 +470,14 @@
             var index_y = m_SortArray.IndexOf(y);
             return index_x.CompareTo(index_y);
         }
+
+        private void OperationTimeUpdateEvent(Operation type)
+        {
+            if (type == Operation.MultipleExp)
+            {
+                m_ActivityCtrl.m_Scorller.RefreshActiveCellViews();
+            }
+        }
     }
 }
 

--
Gitblit v1.8.0