From e2c7e29df3a12ea6b191f60fa4a4d7a7c9b22f0a Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期四, 13 十二月 2018 11:57:47 +0800
Subject: [PATCH] 5398 子 【开发】【1.4】跨服竞技场 / 【前端】【1.4】跨服竞技场开发

---
 System/CrossServerOneVsOne/CrossServerWin.cs         |   19 +++++++--
 System/CrossServerOneVsOne/MatchWin.cs               |   20 +++++++++-
 System/CrossServerOneVsOne/RankingWin.cs             |    7 +++
 System/CrossServerOneVsOne/CrossServerArenaWin.cs    |   11 ++++-
 System/CrossServerOneVsOne/CrossServerRewardModel.cs |   29 +++++++++++++-
 5 files changed, 72 insertions(+), 14 deletions(-)

diff --git a/System/CrossServerOneVsOne/CrossServerArenaWin.cs b/System/CrossServerOneVsOne/CrossServerArenaWin.cs
index 26f9c1b..05d348b 100644
--- a/System/CrossServerOneVsOne/CrossServerArenaWin.cs
+++ b/System/CrossServerOneVsOne/CrossServerArenaWin.cs
@@ -16,7 +16,8 @@
         [SerializeField] Text reaminNumText;
         [SerializeField] Text seasonTimeText;
         [SerializeField] Text openTimeText;
-
+        CrossServerRewardModel m_CrossServerRewardModel;
+        CrossServerRewardModel crossServerRewardModel { get { return m_CrossServerRewardModel ?? (m_CrossServerRewardModel = ModelCenter.Instance.GetModel<CrossServerRewardModel>()); } }
         CrossServerModel crossServerModel { get { return ModelCenter.Instance.GetModel<CrossServerModel>(); } }
         #region Built-in
         protected override void BindController()
@@ -26,6 +27,7 @@
         protected override void AddListeners()
         {
             dayAwardBtn.AddListener(ClickDayAward);
+            matchBtn.AddListener(ClickMatch);
         }
 
         protected override void OnPreOpen()
@@ -96,10 +98,13 @@
         {
             WindowCenter.Instance.Open<CrossServerDayAwardsWin>();
         }
-
+       
         private void ClickMatch()
         {
-
+            CloseImmediately();
+            crossServerRewardModel.IsOpenMatch = true;
+            crossServerRewardModel.ResetTime();
+            WindowCenter.Instance.Open<MatchWin>();
         }
 
     }
diff --git a/System/CrossServerOneVsOne/CrossServerRewardModel.cs b/System/CrossServerOneVsOne/CrossServerRewardModel.cs
index 88242a2..ff5d1c9 100644
--- a/System/CrossServerOneVsOne/CrossServerRewardModel.cs
+++ b/System/CrossServerOneVsOne/CrossServerRewardModel.cs
@@ -24,7 +24,19 @@
 public class CrossServerRewardModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
 {
     public Dictionary<int, SeasonAwardClass> SegmentRewardDic = new Dictionary<int, SeasonAwardClass>();
-    public  ImpactRankModel.RankAwardItem SeasonRewardDic = new ImpactRankModel.RankAwardItem();
+    public ImpactRankModel.RankAwardItem SeasonRewardDic = new ImpactRankModel.RankAwardItem();
+    private bool m_IsOpenMatch;
+    public bool IsOpenMatch
+    {
+        get { return m_IsOpenMatch; }
+        set { m_IsOpenMatch = value; }
+    }
+    DateTime m_DateTime = DateTime.Now;
+    public DateTime Date_Time
+    {
+        get { return m_DateTime; }
+        set { m_DateTime = value; }
+    }
     public override void Init()
     {
         GetSeasonAward();
@@ -33,13 +45,16 @@
 
     public void OnBeforePlayerDataInitialize()
     {
-
+        GlobalTimeEvent.Instance.secondEvent -= secondEvent;
+       
     }
 
     public void OnPlayerLoginOk()
     {
-
+        GlobalTimeEvent.Instance.secondEvent += secondEvent;
     }
+
+   
 
     public override void UnInit()
     {
@@ -93,6 +108,14 @@
         }
         SeasonRewardDic = _award;
     }
+    public  void ResetTime()
+    {
+        Date_Time= TimeUtility.ServerNow;
+    }
+    private void secondEvent()
+    {
+       
+    }
 }
 
 
diff --git a/System/CrossServerOneVsOne/CrossServerWin.cs b/System/CrossServerOneVsOne/CrossServerWin.cs
index af4ee06..1a808d2 100644
--- a/System/CrossServerOneVsOne/CrossServerWin.cs
+++ b/System/CrossServerOneVsOne/CrossServerWin.cs
@@ -27,7 +27,8 @@
         [SerializeField] Button arenaBtn;
         [SerializeField] Button seasonAwardBtn;
         [SerializeField] Button honorStoreBtn;
-
+        CrossServerRewardModel m_CrossServerRewardModel;
+        CrossServerRewardModel crossServerRewardModel { get { return m_CrossServerRewardModel ?? (m_CrossServerRewardModel = ModelCenter.Instance.GetModel<CrossServerRewardModel>()); } }
         CrossServerModel crossServerModel { get { return ModelCenter.Instance.GetModel<CrossServerModel>(); } }
         #region Built-in
         protected override void BindController()
@@ -61,7 +62,7 @@
 
         protected override void OnAfterOpen()
         {
-            
+
         }
 
         protected override void OnPreClose()
@@ -79,7 +80,7 @@
             var playerData = PlayerDatas.Instance.baseData;
             headImg.SetSprite(GeneralDefine.GetOtherJobHeadPortrait(playerData.Job, 0));
             nameText.text = playerData.PlayerName;
-            lvText.text = StringUtility.Contact("Lv.",playerData.LV);
+            lvText.text = StringUtility.Contact("Lv.", playerData.LV);
             scoreSlider.minValue = 0;
             scoreSlider.maxValue = 1;
             UpdateScore();
@@ -94,7 +95,7 @@
             curScoreText.text = crossServerModel.curScore.ToString();
             int maxScore = 0;
             bool isMaxRank = crossServerModel.TryGetMaxRank(out maxScore);
-            if(!isMaxRank)
+            if (!isMaxRank)
             {
                 scorePerText.text = StringUtility.Contact(crossServerModel.curScore, "/", maxScore);
                 scoreSlider.value = (float)crossServerModel.curScore / maxScore;
@@ -139,7 +140,14 @@
         private void ClickArena()
         {
             CloseSubWindows();
-            WindowCenter.Instance.Open<CrossServerArenaWin>();
+            if (crossServerRewardModel.IsOpenMatch)
+            {
+                WindowCenter.Instance.Open<MatchWin>();
+            }
+            else
+            {
+                WindowCenter.Instance.Open<CrossServerArenaWin>();
+            }
         }
 
         private void ClickRankAward()
@@ -173,6 +181,7 @@
             WindowCenter.Instance.CloseImmediately<RankingWin>();
             WindowCenter.Instance.CloseImmediately<SeasonRewardWin>();
             WindowCenter.Instance.CloseImmediately<SegmentRewardWin>();
+            WindowCenter.Instance.CloseImmediately<MatchWin>();
         }
         #endregion
     }
diff --git a/System/CrossServerOneVsOne/MatchWin.cs b/System/CrossServerOneVsOne/MatchWin.cs
index 9a1b7fa..565afde 100644
--- a/System/CrossServerOneVsOne/MatchWin.cs
+++ b/System/CrossServerOneVsOne/MatchWin.cs
@@ -16,7 +16,10 @@
     public class MatchWin : Window
     {
         [SerializeField] Text m_Text_Timing;
-        [SerializeField] Button m_CancelMatchBtn;
+        [SerializeField] Button m_CancelMatchBtn;
+        CrossServerRewardModel m_CrossServerRewardModel;
+        CrossServerRewardModel crossServerRewardModel { get { return m_CrossServerRewardModel ?? (m_CrossServerRewardModel = ModelCenter.Instance.GetModel<CrossServerRewardModel>()); } }
+        private DateTime dateTime = DateTime.Now;
         #region Built-in
         protected override void BindController()
         {
@@ -24,6 +27,7 @@
 
         protected override void AddListeners()
         {
+            m_CancelMatchBtn.AddListener(OnClick);
         }
 
         protected override void OnPreOpen()
@@ -41,8 +45,20 @@
         protected override void OnAfterClose()
         {
         }
+        protected override void LateUpdate()
+        {
+            dateTime = TimeUtility.ServerNow;
+            var time = dateTime-crossServerRewardModel.Date_Time ;
+            m_Text_Timing.text = time.TotalSeconds.ToString();
+           // DebugEx.LogError(time.TotalSeconds);
+        }
         #endregion
-   
+        private void OnClick()
+        {
+            crossServerRewardModel.IsOpenMatch = false;
+            CloseImmediately();
+            WindowCenter.Instance.Open<CrossServerArenaWin>();
+        }
     }
 
 }
diff --git a/System/CrossServerOneVsOne/RankingWin.cs b/System/CrossServerOneVsOne/RankingWin.cs
index 1747c90..f1abc9e 100644
--- a/System/CrossServerOneVsOne/RankingWin.cs
+++ b/System/CrossServerOneVsOne/RankingWin.cs
@@ -47,8 +47,13 @@
         void OnCreateGridLineCell(ScrollerController gridCtrl)
         {
             gridCtrl.Refresh();
-            for (int i = 1; i <= 100; i++)
+            for (int i = 0; i < 100; i++)
             {
+                if (i == 0)
+                {
+                    gridCtrl.AddCell(ScrollerDataType.Normal, i);
+                    continue;
+                }
                 if (i % 2 != 0)
                 {
                     gridCtrl.AddCell(ScrollerDataType.Header, i);

--
Gitblit v1.8.0