From ee945ee8d3199e91df76e7b320d2c37f5efc599a Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期三, 12 九月 2018 17:10:57 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/Store/StoreModel.cs |   51 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 44 insertions(+), 7 deletions(-)

diff --git a/System/Store/StoreModel.cs b/System/Store/StoreModel.cs
index f07b9ac..d40b37c 100644
--- a/System/Store/StoreModel.cs
+++ b/System/Store/StoreModel.cs
@@ -31,6 +31,7 @@
 {
     public int[] normalBuyCoinsTypes { get; private set; }
     public string UNIONSTORESAVE_KEY { get; private set; }
+    public string MUSTBUYSAVE_KEY { get; private set; }
     public string StoreEffectRecord_Key { get; private set; }
     public List<StoreConfig> shoplist;
 
@@ -67,8 +68,8 @@
     public void OnAfterPlayerDataInitialize()
     {
         UNIONSTORESAVE_KEY = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, LocalSaveStoreType.UnionStore);
-        DebugEx.Log("UNIONSTORESAVE_KEY:" + UNIONSTORESAVE_KEY);
         StoreEffectRecord_Key = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "StoreEffectRecord");
+        MUSTBUYSAVE_KEY = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID,"MustBuy");
     }
 
     public void OnPlayerLoginOk()
@@ -662,7 +663,7 @@
     public bool CheckWeekStoreIsShopBuy(out List<StoreConfig> buylist)
     {
         buylist = new List<StoreConfig>();
-        if (!IsNewDay()) return false;
+        if (!IsNewDay(StoreEffectRecord_Key)) return false;
 
         List<StoreConfig> shoplist = StoreConfig.GetTypeStoreModel((int)StoreFunc.WeekStore);
         for(int i = 0; i < shoplist.Count; i++)
@@ -700,16 +701,16 @@
         }
     }
 
-    private bool IsNewDay()
+    private bool IsNewDay(string recordKey)
     {
         if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store)) return false;
    
-        if (PlayerPrefs.HasKey(StoreEffectRecord_Key))
+        if (PlayerPrefs.HasKey(recordKey))
         {
-            int day = LocalSave.GetInt(StoreEffectRecord_Key);
+            int day = LocalSave.GetInt(recordKey);
             if(day != TimeUtility.ServerNow.Day)
             {
-                LocalSave.SetInt(StoreEffectRecord_Key,TimeUtility.ServerNow.Day);
+                LocalSave.SetInt(recordKey, TimeUtility.ServerNow.Day);
                 return true;
             }
             else
@@ -719,7 +720,7 @@
         }
         else
         {
-            LocalSave.SetInt(StoreEffectRecord_Key, TimeUtility.ServerNow.Day);
+            LocalSave.SetInt(recordKey, TimeUtility.ServerNow.Day);
             return true;
         }
     }
@@ -835,9 +836,45 @@
                     shopRedDict[storeConfig.ID].state = RedPointState.None;
                 }
             }
+
+            UpdateMustBuyRedpoint(storeConfig);
         }
     }
 
+    public void UpdateMustBuyRedpoint(StoreConfig storeConfig)
+    {
+        if (CheckIsMustBuy(storeConfig))
+        {
+            shopRedDict[storeConfig.ID].state = RedPointState.Simple;
+        }
+        else
+        {
+            shopRedDict[storeConfig.ID].state = RedPointState.None;
+        }
+    }
+
+    public void ClearMustBuyRedpoint(StoreConfig storeConfig)
+    {
+        if(mustIdlist.Contains(storeConfig.ItemID))
+        {
+            shopRedDict[storeConfig.ID].state = RedPointState.None;
+        }
+    }
+
+    public List<int> mustIdlist = new List<int>() { 4741};
+    public bool CheckIsMustBuy(StoreConfig config)
+    {
+        if(mustIdlist.Contains(config.ItemID)
+            && CheckShopIsCanBuy(config))
+        {
+            if(IsNewDay(MUSTBUYSAVE_KEY))
+            {
+                return true;
+            }
+        }
+        return false;
+    }
+
     public bool CheckScoreStoreIsCanBuy(StoreConfig storeConfig)
     {
         List<StoreConfig> list = StoreConfig.GetSellShoplist();

--
Gitblit v1.8.0