少年修仙传客户端代码仓库
client_Hale
2018-12-28 6692e5c25baecdd4a2b015644ec80399e7ff672c
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;