From 6692e5c25baecdd4a2b015644ec80399e7ff672c Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期五, 28 十二月 2018 15:26:56 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs |   67 +++++++++++++++++++++++----------
 1 files changed, 46 insertions(+), 21 deletions(-)

diff --git a/System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs b/System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs
index 803b8a7..39ce515 100644
--- a/System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs
+++ b/System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs
@@ -41,6 +41,8 @@
 
         public void OnBeforePlayerDataInitialize()
         {
+            CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent -= UpdatePlayerInfo;
+            CrossServerOneVsOnePKSeason.Instance.updateSelfSeasonEvent -= UpdateSeason;
             TimeMgr.Instance.OnMinuteEvent -= UpdateMinute;
             dungeonModel.updateMissionEvent -= UpdateFBHelp;
             rewardModel.CrossRealmPKAwardStateUpdate -= UpdateDayAwardState;
@@ -62,6 +64,8 @@
 
         public void OnPlayerLoginOk()
         {
+            CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent += UpdatePlayerInfo;
+            CrossServerOneVsOnePKSeason.Instance.updateSelfSeasonEvent += UpdateSeason;
             TimeMgr.Instance.OnMinuteEvent += UpdateMinute;
             rewardModel.CrossRealmPKAwardStateUpdate += UpdateDayAwardState;
             CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent += UpdateDayAwardState;
@@ -72,7 +76,8 @@
                 SendCrossMatch(1);
             }
 
-            UpdateCrossArenaRedpoint();
+            UpdateCrossDayAwardsRedpoint();
+            UpdateCrossMatchRedpoint();
         }
 
         public override void UnInit()
@@ -88,9 +93,9 @@
             oneVsOneHistoryDict.Clear();
         }
 
-
         private void UpdateMinute()
         {
+            UpdateCrossMatchRedpoint();
             if (!IsMatching) return;
 
             if(!CrossServerOneVsOnePKSeason.Instance.isSatisfyMatch)
@@ -125,7 +130,18 @@
                 UpdateDayAwardsEvent();
             }
 
-            UpdateCrossArenaRedpoint();
+            UpdateCrossDayAwardsRedpoint();
+        }
+
+        private void UpdateSeason()
+        {
+            UpdateCrossMatchRedpoint();
+        }
+
+        private void UpdatePlayerInfo()
+        {
+            UpdateCrossDayAwardsRedpoint();
+            UpdateCrossMatchRedpoint();
         }
 
         private void UpdateFBHelp()
@@ -398,6 +414,14 @@
                 SysNotifyMgr.Instance.ShowTip("CrossMatching7");
                 return true;
             }
+
+            int remainMatchNum = CrossServerOneVsOnePlayerInfo.Instance.GetDayRemainNum();
+            if(remainMatchNum <= 0)
+            {
+                SysNotifyMgr.Instance.ShowTip("CrossMatching16");
+                return true;
+            }
+
             return false;
 
         }
@@ -418,7 +442,7 @@
                     division = data.DanLV,
                     order = data.Order,
                     rewardLevel = data.AwardLV,
-                    score = (int)data.Score,
+                    score = (int)data.Score
                 };
             }
             if (oneVsOneHistoryRefresh != null)
@@ -487,23 +511,8 @@
         public Redpoint crossDayAwardsRedpoint = new Redpoint(CrossArenaRedKey,CrossDayAwardsRedKey);
         public const int CrossMatchRedKey = 21301012;
         public Redpoint crossMatchRedpoint = new Redpoint(CrossArenaRedKey, CrossMatchRedKey);
-        public void UpdateCrossArenaRedpoint()
+        public void UpdateCrossDayAwardsRedpoint()
         {
-            var playerInfo = CrossServerOneVsOnePlayerInfo.Instance;
-            var pkSeason = CrossServerOneVsOnePKSeason.Instance;
-
-            if(pkSeason.InPkSeason(TimeUtility.ServerNow) 
-                && pkSeason.InOpenTime()
-                && playerInfo.GetDayRemainNum() > 0)
-            {
-                crossMatchRedpoint.state = RedPointState.Simple;
-            }
-            else
-            {
-                crossMatchRedpoint.state = RedPointState.None;
-            }
-
-         
             bool isReceive = false;
             for(int i = 0; i < dayAwardTypelist.Count; i++)
             {
@@ -523,8 +532,24 @@
             {
                 crossDayAwardsRedpoint.state = RedPointState.None;
             }
+        }
 
-            if(crossMatchRedpoint.state != RedPointState.None)
+        public void UpdateCrossMatchRedpoint()
+        {
+            var playerInfo = CrossServerOneVsOnePlayerInfo.Instance;
+            var pkSeason = CrossServerOneVsOnePKSeason.Instance;
+
+            if (pkSeason.isSatisfyMatch
+                && playerInfo.GetDayRemainNum() > 0)
+            {
+                crossMatchRedpoint.state = RedPointState.Simple;
+            }
+            else
+            {
+                crossMatchRedpoint.state = RedPointState.None;
+            }
+
+            if (crossMatchRedpoint.state != RedPointState.None)
             {
                 crossServerRedpoint.count = playerInfo.GetDayRemainNum();
                 crossServerRedpoint.state = RedPointState.Quantity;

--
Gitblit v1.8.0