From c3f099acdbe93867e3733454590e60ffb335cd5b Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期五, 14 九月 2018 14:56:42 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/Store/StoreModel.cs |   38 ++++++++++++++++++++++++++++----------
 1 files changed, 28 insertions(+), 10 deletions(-)

diff --git a/System/Store/StoreModel.cs b/System/Store/StoreModel.cs
index d40b37c..0c915dc 100644
--- a/System/Store/StoreModel.cs
+++ b/System/Store/StoreModel.cs
@@ -39,6 +39,7 @@
     public Dictionary<int, string> resetTimeDict { get; private set; }
     public Dictionary<int, int> showCoinsUIDict { get; private set; }
     public int[] StoreRedIdlist { get; private set;}
+    bool isLogin = true;
     public override void Init()
     {
         FuncConfigConfig buyItemHinit = Config.Instance.Get<FuncConfigConfig>("BuyItemHinit");
@@ -53,6 +54,7 @@
 
     public void OnBeforePlayerDataInitialize()
     {
+        isLogin = true;
         FuncOpen.Instance.OnFuncStateChangeEvent -= FuncStateChange;
         PlayerDatas.Instance.fairyData.OnRefreshFairyMine -= RefreshServerHour;
         PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= RefreshFamilyLv;
@@ -87,6 +89,8 @@
         SetShopRedpoint();
         CheckShopRedpoint();
         SetJobReplaceIDDict();
+        UpdateMustBuyRedpoint();
+        isLogin = false;
     }
 
     public string GetStoreRefreshTimeByType(int type)
@@ -132,6 +136,9 @@
         switch(type)
         {
             case PlayerDataRefresh.LV:
+                CheckShopRedpoint();
+                UpdateMustBuyRedpoint();
+                break;
             case PlayerDataRefresh.VIPLv:
             case PlayerDataRefresh.Gold:
             case PlayerDataRefresh.GoldPaper:
@@ -232,6 +239,7 @@
     private void RefreshServerHour()
     {
         ControllerRedPoint();
+        UpdateMustBuyRedpoint();
         if(!PlayerDatas.Instance.fairyData.HasFairy)
         {
             PlayerPrefs.DeleteKey(UNIONSTORESAVE_KEY);
@@ -272,7 +280,12 @@
             }
 
         }
-        CheckShopRedpoint();
+    
+        if(!isLogin)
+        {
+            CheckShopRedpoint();
+            UpdateMustBuyRedpoint();
+        }
         if (RefreshBuyShopLimitEvent != null)
             RefreshBuyShopLimitEvent();
     }
@@ -658,6 +671,7 @@
         }
         SetShopRedpoint();
         CheckShopRedpoint();
+        UpdateMustBuyRedpoint();
     }
 
     public bool CheckWeekStoreIsShopBuy(out List<StoreConfig> buylist)
@@ -836,20 +850,24 @@
                     shopRedDict[storeConfig.ID].state = RedPointState.None;
                 }
             }
-
-            UpdateMustBuyRedpoint(storeConfig);
         }
     }
 
-    public void UpdateMustBuyRedpoint(StoreConfig storeConfig)
+    public void UpdateMustBuyRedpoint()
     {
-        if (CheckIsMustBuy(storeConfig))
+        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store)) return;
+
+        foreach (var key in shopRedDict.Keys)
         {
-            shopRedDict[storeConfig.ID].state = RedPointState.Simple;
-        }
-        else
-        {
-            shopRedDict[storeConfig.ID].state = RedPointState.None;
+            StoreConfig storeConfig = Config.Instance.Get<StoreConfig>(key);
+            if (CheckIsMustBuy(storeConfig))
+            {
+                shopRedDict[storeConfig.ID].state = RedPointState.Simple;
+            }
+            else
+            {
+                shopRedDict[storeConfig.ID].state = RedPointState.None;
+            }
         }
     }
 

--
Gitblit v1.8.0