少年修仙传客户端代码仓库
client_Wu Xijin
2019-01-04 bcfa08bee0e3419d1cb8781f98060f972e1096a8
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
1个文件已修改
45 ■■■■■ 已修改文件
System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs
@@ -35,7 +35,7 @@
        public DateTime matchStartTime { get; set; }
        public DateTime roundEndTime { get; private set; }
        StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }
        public string LocalSaveThirdTypeKey = string.Empty;
        public override void Init()
        {
            IsMatching = false;
@@ -45,6 +45,8 @@
        public void OnBeforePlayerDataInitialize()
        {
            storeModel.RefreshBuyShopLimitEvent -= UpdateBuyShop;
            TimeUtility.OnServerOpenDayRefresh -= UpdateServerOpenDay;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= UpdatePlayerData;
            CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent -= UpdatePlayerInfo;
            CrossServerOneVsOnePKSeason.Instance.updateSelfSeasonEvent -= UpdateSeason;
@@ -59,6 +61,7 @@
        {
            int playerId = (int)PlayerDatas.Instance.baseData.PlayerID;
            PkResultLocalSaveKey = StringUtility.Contact("PkResultLocalSaveKey", playerId);
            LocalSaveThirdTypeKey = StringUtility.Contact("HonorStoreThirdType",playerId);
            GetLocalSaveData();
        }
@@ -69,6 +72,8 @@
        public void OnPlayerLoginOk()
        {
            storeModel.RefreshBuyShopLimitEvent += UpdateBuyShop;
            TimeUtility.OnServerOpenDayRefresh += UpdateServerOpenDay;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += UpdatePlayerData;
            CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent += UpdatePlayerInfo;
            CrossServerOneVsOnePKSeason.Instance.updateSelfSeasonEvent += UpdateSeason;
@@ -76,6 +81,7 @@
            rewardModel.CrossRealmPKAwardStateUpdate += UpdateDayAwardState;
            CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent += UpdateDayAwardState;
            dungeonModel.updateMissionEvent += UpdateFBHelp;
            UpdateServerOpenDay();
            UpdateDayAwardState();
            if(IsMatching && CrossServerOneVsOnePKSeason.Instance.InOpenTime())
            {
@@ -146,6 +152,14 @@
            UpdateCanBuyRedpoint();
        }
        private void UpdateBuyShop()
        {
            var pkSeason = CrossServerOneVsOnePKSeason.Instance;
            if (!pkSeason.IsEnterCrossServer()) return;
            UpdateCanBuyRedpoint();
        }
        private void UpdatePlayerInfo()
        {
            UpdateCrossDayAwardsRedpoint();
@@ -211,6 +225,32 @@
            if (x.CompareTo(y) != 0) return x.CompareTo(y);
            return 0;
        }
        public bool IsNewDay { get; private set;}
        private void UpdateServerOpenDay()
        {
            var pkSeason = CrossServerOneVsOnePKSeason.Instance;
            if (!pkSeason.IsEnterCrossServer()) return;
            IsNewDay = false;
            int openDay = TimeUtility.OpenDay;
            if(!PlayerPrefs.HasKey(LocalSaveThirdTypeKey))
            {
                IsNewDay = true;
                LocalSave.SetInt(LocalSaveThirdTypeKey,openDay);
            }
            else
            {
                int localOpenDay = LocalSave.GetInt(LocalSaveThirdTypeKey);
                if(openDay != localOpenDay)
                {
                    IsNewDay = true;
                    LocalSave.SetInt(LocalSaveThirdTypeKey, openDay);
                }
            }
            UpdateCanBuyRedpoint();
        }
        #region 表数据
@@ -577,6 +617,7 @@
        }
        #region 荣誉商店红点
        public const int CrossHonorStoreRedKey = 2130104;
        public Redpoint crossHonorStoreRedpoint = new Redpoint(CrossOneVsOneRedKey, CrossHonorStoreRedKey);
        private Dictionary<int, Redpoint> honorRedpointDict = new Dictionary<int, Redpoint>();
@@ -637,7 +678,7 @@
                        honorRedpointDict[storeConfig.ID].state = RedPointState.None;
                        if (!storeModel.TryGetIsSellOut(storeConfig, out remainNum))
                        {
                            if(!PlayerPrefs.HasKey(key))
                            if(!PlayerPrefs.HasKey(key)|| IsNewDay)
                            {
                                if (UIHelper.GetMoneyCnt(storeConfig.MoneyType) >= (ulong)storeConfig.MoneyNumber)
                                {