From f3fb1aa143be2b56ff3ed5c8bc6bc1bf7c1c5e0c Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 16 十月 2019 14:09:27 +0800
Subject: [PATCH] 0312 BOSS首杀

---
 System/OpenServerActivity/OpenServerActivityRankWin.cs |   62 ++++++++++++++++++++++++++++---
 1 files changed, 56 insertions(+), 6 deletions(-)

diff --git a/System/OpenServerActivity/OpenServerActivityRankWin.cs b/System/OpenServerActivity/OpenServerActivityRankWin.cs
index 490e896..77f1680 100644
--- a/System/OpenServerActivity/OpenServerActivityRankWin.cs
+++ b/System/OpenServerActivity/OpenServerActivityRankWin.cs
@@ -26,6 +26,7 @@
 
         protected override void BindController()
         {
+            m_OpenServerActivities.Add(100);
             m_OpenServerActivities.Add(0);
 
         }
@@ -65,8 +66,10 @@
                 functionOrder = GetDefaultSelect();
                 UpdateFunctionBtns();
             }
-
-            WindowCenter.Instance.Open("ImpactRankWin", true);
+            if (functionOrder != 0)
+                WindowCenter.Instance.Open<BossFirstBloodWin>();
+            else
+                WindowCenter.Instance.Open<ImpactRankWin>();
 
             var index = alreadyOpenActivitys.IndexOf(functionOrder);
 
@@ -83,7 +86,7 @@
             TimeUtility.OnServerOpenDayRefresh -= OnStepServerDayEvent;
             OpenServerActivityCenter.Instance.openServerActivityStateChange -= OpenServerActivityStateChange;
             impactRankModel.gotoImpactRankType = 0;
-            WindowCenter.Instance.Close("ImpactRankWin");
+            CloseOtherWin();
         }
 
         protected override void OnAfterClose()
@@ -190,14 +193,58 @@
 
             _cell.redpoint.redpointId = MainRedDot.REDPOINT_OPENRANK * 100 + activityType;
             _cell.SetSelect(_cell.activityType == functionOrder);
-            _cell.icon.SetSprite("OpenServerActivty_QMCB");
-
+            if (_cell.activityType == 0)
+                _cell.icon.SetSprite("OpenServerActivty_QMCB");
+            else
+                _cell.icon.SetSprite("OpenServerActivty_BOSSFK");
             _cell.downArrow.gameObject.SetActive(false);
             _cell.upArrow.gameObject.SetActive(false);
 
 
             _cell.funcBtn.onClick.RemoveAllListeners();
-            
+            _cell.funcBtn.onClick.AddListener(() =>
+            {
+                OnActivityClick(_cell.activityType);
+            });
+
+        }
+
+        private void CloseOtherWin()
+        {
+            var children = WindowConfig.GetChildWindows("OpenServerActivityRankWin");
+            foreach (var window in children)
+            {
+                WindowCenter.Instance.Close(window);
+            }
+        }
+
+        private void OnActivityClick(int _order)
+        {
+
+            if (functionOrder != _order)
+            {
+                functionOrder = _order;
+                OnOpenActivity(functionOrder);
+            }
+
+
+            UpdateFunctionBtns();
+        }
+
+        private void OnOpenActivity(int _order)
+        {
+            CloseOtherWin();
+
+            var functionInfos = WindowConfig.GetWindowFunctionInfos("OpenServerActivityRankWin");
+            var index = functionInfos.FindIndex((x) =>
+            {
+                return x.order == _order;
+            });
+
+            if (index != -1)
+            {
+                WindowCenter.Instance.Open(functionInfos[index].window, true);
+            }
         }
 
         private void OnStepServerDayEvent()
@@ -258,6 +305,7 @@
                         break;
                     
                     default:
+                        m_ActivityCtrl.AddCell(ScrollerDataType.Header, activityId);
                         break;
                 }
             }
@@ -268,6 +316,8 @@
 
         private void OnActivityType(int _index)
         {
+            if (!WindowCenter.Instance.IsOpen<ImpactRankWin>())
+                OnActivityClick(0);
             var _order = _index / 100;
             var _type = _index % 100;
             if (impactRankModel.IsLock(_type))

--
Gitblit v1.8.0