From b14a18c7fcff806740f09b912cb4e81c03546a48 Mon Sep 17 00:00:00 2001
From: Client_PangDeRong <593317293@qq.com>
Date: 星期五, 28 十二月 2018 14:26:46 +0800
Subject: [PATCH] 5398 子 【开发】【1.4】跨服竞技场 / 【前端】【1.4】跨服竞技场开发

---
 System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs |   58 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 38 insertions(+), 20 deletions(-)

diff --git a/System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs b/System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs
index 803b8a7..d719910 100644
--- a/System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs
+++ b/System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs
@@ -41,6 +41,7 @@
 
         public void OnBeforePlayerDataInitialize()
         {
+            CrossServerOneVsOnePKSeason.Instance.updateSelfSeasonEvent -= UpdateSeason;
             TimeMgr.Instance.OnMinuteEvent -= UpdateMinute;
             dungeonModel.updateMissionEvent -= UpdateFBHelp;
             rewardModel.CrossRealmPKAwardStateUpdate -= UpdateDayAwardState;
@@ -62,6 +63,7 @@
 
         public void OnPlayerLoginOk()
         {
+            CrossServerOneVsOnePKSeason.Instance.updateSelfSeasonEvent += UpdateSeason;
             TimeMgr.Instance.OnMinuteEvent += UpdateMinute;
             rewardModel.CrossRealmPKAwardStateUpdate += UpdateDayAwardState;
             CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent += UpdateDayAwardState;
@@ -72,7 +74,8 @@
                 SendCrossMatch(1);
             }
 
-            UpdateCrossArenaRedpoint();
+            UpdateCrossDayAwardsRedpoint();
+            UpdateCrossMatchRedpoint();
         }
 
         public override void UnInit()
@@ -91,6 +94,7 @@
 
         private void UpdateMinute()
         {
+            UpdateCrossMatchRedpoint();
             if (!IsMatching) return;
 
             if(!CrossServerOneVsOnePKSeason.Instance.isSatisfyMatch)
@@ -125,7 +129,12 @@
                 UpdateDayAwardsEvent();
             }
 
-            UpdateCrossArenaRedpoint();
+            UpdateCrossDayAwardsRedpoint();
+        }
+
+        private void UpdateSeason()
+        {
+            UpdateCrossMatchRedpoint();
         }
 
         private void UpdateFBHelp()
@@ -398,6 +407,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 +435,6 @@
                     division = data.DanLV,
                     order = data.Order,
                     rewardLevel = data.AwardLV,
-                    score = (int)data.Score,
                 };
             }
             if (oneVsOneHistoryRefresh != null)
@@ -487,23 +503,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 +524,25 @@
             {
                 crossDayAwardsRedpoint.state = RedPointState.None;
             }
+        }
 
-            if(crossMatchRedpoint.state != RedPointState.None)
+        public void UpdateCrossMatchRedpoint()
+        {
+            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;
+            }
+
+            if (crossMatchRedpoint.state != RedPointState.None)
             {
                 crossServerRedpoint.count = playerInfo.GetDayRemainNum();
                 crossServerRedpoint.state = RedPointState.Quantity;

--
Gitblit v1.8.0