From 791036b5612c0ae29c4e1e54a6c2211a5cc70e12 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期三, 15 八月 2018 16:23:52 +0800
Subject: [PATCH] 2576【前端】全民冲榜单独在主界面显示

---
 System/OpenServerActivity/ImpactRankCoolDown.cs      |   34 +++++++++++++++++
 System/OpenServerActivity/ImpactRankModel.cs         |   23 +++++++++++
 System/OpenServerActivity/ImpactRankCoolDown.cs.meta |   12 ++++++
 3 files changed, 69 insertions(+), 0 deletions(-)

diff --git a/System/OpenServerActivity/ImpactRankCoolDown.cs b/System/OpenServerActivity/ImpactRankCoolDown.cs
new file mode 100644
index 0000000..bb1bb21
--- /dev/null
+++ b/System/OpenServerActivity/ImpactRankCoolDown.cs
@@ -0,0 +1,34 @@
+锘縰sing System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Snxxz.UI
+{
+    public class ImpactRankCoolDown : MonoBehaviour
+    {
+        [SerializeField] Text m_Time;
+        private void OnEnable()
+        {
+            TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh;
+            DisplayTime();
+        }
+
+        private void OnDisable()
+        {
+            TimeUtility.OnServerOpenDayRefresh -= OnServerOpenDayRefresh;
+        }
+
+        private void OnServerOpenDayRefresh()
+        {
+            DisplayTime();
+        }
+
+        void DisplayTime()
+        {
+            m_Time.text = Language.Get("SignIn_4", TimeUtility.OpenDay + 1);
+        }
+    }
+}
+
diff --git a/System/OpenServerActivity/ImpactRankCoolDown.cs.meta b/System/OpenServerActivity/ImpactRankCoolDown.cs.meta
new file mode 100644
index 0000000..ac69b8f
--- /dev/null
+++ b/System/OpenServerActivity/ImpactRankCoolDown.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b25c6e7f45cded341b90f9381a0666df
+timeCreated: 1534320807
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/System/OpenServerActivity/ImpactRankModel.cs b/System/OpenServerActivity/ImpactRankModel.cs
index 9a72876..83525d0 100644
--- a/System/OpenServerActivity/ImpactRankModel.cs
+++ b/System/OpenServerActivity/ImpactRankModel.cs
@@ -54,12 +54,20 @@
                 {
                     onStateUpate(0);
                 }
+                if (inImpactRankUpdate != null)
+                {
+                    inImpactRankUpdate();
+                }
             }
         }
 
         private void OnServerOpenDayRefresh()
         {
             UpdateRedpoint();
+            if (inImpactRankUpdate != null)
+            {
+                inImpactRankUpdate();
+            }
         }
 
         private void OnRefreshRank(int type)
@@ -86,6 +94,7 @@
         public Dictionary<int, OSCbillBoardCondition> impactRankTypeOpenDict { get; private set; }
         public Dictionary<int, List<OSCBillTagAwardConfig>> billTagSortCfgDict { get; private set; }
         public int openServerActivityDays { get; private set; }
+        public int openServerRankDays { get; private set; }
         public int gotoImpactRankType { get; set; }
         private void ParseConfig()
         {
@@ -192,6 +201,7 @@
             _json = LitJson.JsonMapper.ToObject(_funcCfg.Numerical1);
             openServerActivityDays = int.Parse(_funcCfg.Numerical2);
             impactRankTypeOpenDict = new Dictionary<int, OSCbillBoardCondition>();
+            openServerRankDays = 0;
             foreach (var _key in _json.Keys)
             {
                 var _type = int.Parse(_key);
@@ -202,6 +212,10 @@
                     start = _array[1],
                     end = _array[2]
                 };
+                if (_condition.end > openServerRankDays)
+                {
+                    openServerRankDays = _condition.end;
+                }
                 impactRankTypeOpenDict.Add(_type, _condition);
                 m_Redpoints.Add(_type, new Redpoint(Redpoint_Key_ImpactRank, Redpoint_Key_ImpactRank * 100 + _type));
             }
@@ -422,6 +436,7 @@
         #region 鍗忚
         public event Action OnAwardGetEvent;
         public event Action<int> onStateUpate;
+        public event Action inImpactRankUpdate;
 
         private Dictionary<int, OpenServerPlayerData> impactAwardGetDict = new Dictionary<int, OpenServerPlayerData>();
         public void UpdateGetState(HAB17_tagMCOpenServerCampaignAwardList _package)
@@ -644,6 +659,14 @@
                 return state == RedPointState.Simple || state == RedPointState.GetReward;
             }
         }
+
+        public bool IsInImpactRank
+        {
+            get
+            {
+                return TimeUtility.OpenDay < openServerRankDays && FuncOpen.Instance.IsFuncOpen(125);
+            }
+        }
         #endregion
     }
 

--
Gitblit v1.8.0