From d930e85ecc496307fd2e1bd21add1808e44849b8 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期三, 26 十二月 2018 15:41:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/Cross_Server' into 【1.4】王者法宝

---
 System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs |   32 ++++++++++++++++++++++++--------
 1 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs b/System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs
index 60ce934..8e89973 100644
--- a/System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs
+++ b/System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs
@@ -29,6 +29,7 @@
 
         public void OnBeforePlayerDataInitialize()
         {
+            TimeMgr.Instance.OnMinuteEvent -= UpdateMinute;
             dungeonModel.updateMissionEvent -= UpdateFBHelp;
             rewardModel.CrossRealmPKAwardStateUpdate -= UpdateDayAwardState;
             CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent -= UpdateDayAwardState;
@@ -49,11 +50,12 @@
 
         public void OnPlayerLoginOk()
         {
+            TimeMgr.Instance.OnMinuteEvent += UpdateMinute;
             rewardModel.CrossRealmPKAwardStateUpdate += UpdateDayAwardState;
             CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent += UpdateDayAwardState;
             dungeonModel.updateMissionEvent += UpdateFBHelp;
             UpdateDayAwardState();
-            if(IsMatching)
+            if(IsMatching && CrossServerOneVsOnePKSeason.Instance.InOpenTime())
             {
                 SendCrossMatch(1);
             }
@@ -70,6 +72,18 @@
             CrossServerOneVsOnePlayerInfo.Instance.InitData();
             pkResultInfo = new CrossServerOneVsOnePkResult();
             oneVsOneHistoryDict.Clear();
+        }
+
+
+        private void UpdateMinute()
+        {
+            if (!IsMatching) return;
+
+            if(!CrossServerOneVsOnePKSeason.Instance.isSatisfyMatch)
+            {
+                IsMatching = false;
+                SendCrossMatch(0);
+            }
         }
 
         public void UpdateDayAwardState()
@@ -127,12 +141,10 @@
             }
         }
 
-        public List<AwardType> sortDayAwardslist = new List<AwardType>();
-        public void SortDayAwardsList()
+        public List<AwardType> GetDayAwardsList()
         {
-            sortDayAwardslist.Clear();
-            sortDayAwardslist.AddRange(dayAwardTypelist);
-            sortDayAwardslist.Sort(CompareByCompleteProgress);
+            dayAwardTypelist.Sort(CompareByCompleteProgress);
+            return dayAwardTypelist;
         }
 
         public int CompareByCompleteProgress(AwardType start,AwardType end)
@@ -141,8 +153,12 @@
             int y = (int)end.progress;
             if (x.CompareTo(y) != 0) return x.CompareTo(y);
 
-            x = dayAwardTypelist.IndexOf(start);
-            y = dayAwardTypelist.IndexOf(end);
+            x = start.type;
+            y = end.type;
+            if (x.CompareTo(y) != 0) return x.CompareTo(y);
+
+            x = start.num;
+            y = end.num;
             if (x.CompareTo(y) != 0) return x.CompareTo(y);
 
             return 0;

--
Gitblit v1.8.0