From bcfa08bee0e3419d1cb8781f98060f972e1096a8 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期五, 04 一月 2019 16:56:46 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs |   45 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 43 insertions(+), 2 deletions(-)

diff --git a/System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs b/System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs
index 01e1250..9fa3155 100644
--- a/System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs
+++ b/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 鑽h獕鍟嗗簵绾㈢偣
+     
         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)
                                 {

--
Gitblit v1.8.0