少年修仙传客户端代码仓库
client_linchunjie
2019-01-11 bc7abe111d69d8a26b06be583ca4deb39bf08c67
System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs
@@ -36,6 +36,7 @@
        public DateTime roundEndTime { get; private set; }
        StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }
        public string LocalSaveThirdTypeKey = string.Empty;
        private int recordDataMapId;
        public override void Init()
        {
            IsMatching = false;
@@ -45,6 +46,7 @@
        public void OnBeforePlayerDataInitialize()
        {
            StageManager.Instance.onStageLoadFinish -= OnLoadMapFinish;
            storeModel.RefreshBuyShopLimitEvent -= UpdateBuyShop;
            TimeUtility.OnServerOpenDayRefresh -= UpdateServerOpenDay;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= UpdatePlayerData;
@@ -72,6 +74,7 @@
        public void OnPlayerLoginOk()
        {
            StageManager.Instance.onStageLoadFinish += OnLoadMapFinish;
            storeModel.RefreshBuyShopLimitEvent += UpdateBuyShop;
            TimeUtility.OnServerOpenDayRefresh += UpdateServerOpenDay;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += UpdatePlayerData;
@@ -81,6 +84,7 @@
            rewardModel.CrossRealmPKAwardStateUpdate += UpdateDayAwardState;
            CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent += UpdateDayAwardState;
            dungeonModel.updateMissionEvent += UpdateFBHelp;
            recordDataMapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
            UpdateServerOpenDay();
            UpdateDayAwardState();
            if(IsMatching && CrossServerOneVsOnePKSeason.Instance.InOpenTime())
@@ -106,6 +110,22 @@
            oneVsOneHistoryDict.Clear();
        }
        private void OnLoadMapFinish()
        {
            var dataMapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
            if(recordDataMapId == CrossServerDataMapId
                && dataMapId != CrossServerDataMapId)
            {
                var pkSeason = CrossServerOneVsOnePKSeason.Instance;
                if(pkSeason.IsEnterCrossServer())
                {
                    WindowCenter.Instance.Open<CrossServerWin>();
                }
            }
            recordDataMapId = dataMapId;
        }
        private void UpdateMinute()
        {
            UpdateCrossMatchRedpoint();