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

---
 System/KnapSack/FBHelpPointExchageModel.cs |   80 +++++++++++++++++++++++++++++++---------
 1 files changed, 62 insertions(+), 18 deletions(-)

diff --git a/System/KnapSack/FBHelpPointExchageModel.cs b/System/KnapSack/FBHelpPointExchageModel.cs
index a974fba..6e6c9d5 100644
--- a/System/KnapSack/FBHelpPointExchageModel.cs
+++ b/System/KnapSack/FBHelpPointExchageModel.cs
@@ -30,8 +30,7 @@
         {
             currentShopId = 0;
             helpPointShoplist.Clear();
-            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= UpdateFBHelpPoint;
-            storeModel.UpdateHelpPointExchangeEvent -= UpdateHelpPointShop;
+            storeModel.RefreshTCBPlayerDataEvent -= UpdateFBHelpPoint;
             TimeMgr.Instance.OnDayEvent -= UpdateDay;
         }
 
@@ -41,9 +40,8 @@
             shopDayLocalSave = StringUtility.Contact("ShopDayLocalSave",playerId);
             shopLifeLocalSave = StringUtility.Contact("ShopLifeLocalSave",playerId);
             curDayLocalSave = StringUtility.Contact("CurDayLocalSave",playerId);
-            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += UpdateFBHelpPoint;
+            storeModel.RefreshTCBPlayerDataEvent += UpdateFBHelpPoint;
             TimeMgr.Instance.OnDayEvent += UpdateDay;
-            storeModel.UpdateHelpPointExchangeEvent += UpdateHelpPointShop;
             GetLocalSaveData();
         }
 
@@ -123,7 +121,30 @@
 
         private void UpdateFBHelpPoint(PlayerDataRefresh type)
         {
-            if (type != PlayerDataRefresh.FBHelpPoint) return;
+            if (type != PlayerDataRefresh.FBHelpPoint 
+                || !FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store)) return;
+
+            var storeDatas = storeModel.TryGetStoreDatas((int)StoreFunc.IntegralStore);
+            if(storeDatas != null)
+            {
+                for(int i = 0; i < storeDatas.Count; i++)
+                {
+                    var storeData = storeDatas[i];
+                    int pushType = 0;
+                    storeModel.TryGetPushTypeByShopId(storeData.shopId,out pushType);
+                    if(pushType != 0)
+                    {
+                        int remainNum = 0;
+                        bool isSellOut = storeModel.TryGetIsSellOut(storeData.storeConfig,out remainNum);
+                        ulong haveMoney = UIHelper.GetMoneyCnt(storeData.storeConfig.MoneyType);
+                        bool isEnoughMoney = haveMoney >= (ulong)storeData.storeConfig.MoneyNumber ? true : false;
+                        if(!isSellOut && isEnoughMoney)
+                        {
+                            UpdateHelpPointShop(storeData.shopId);
+                        }
+                    }
+                }
+            }
 
             for(int i = 0; i < helpPointShoplist.Count; i++)
             {
@@ -151,6 +172,9 @@
             {
                 helpPointShoplist.Remove(shopId);
             }
+            int type = 0;
+            bool isPush = storeModel.TryGetPushTypeByShopId(shopId, out type);
+            SetLocalSaveData(type, shopId);
         }
 
         private void UpdateHelpPointShop(int shopId)
@@ -158,9 +182,23 @@
             StoreConfig storeConfig = Config.Instance.Get<StoreConfig>(shopId);
             if (storeConfig == null) return;
 
-            currentShopId = shopId;
-            AddHelpPointShop(shopId);
-            if(UpdateHelpPointShopEvent != null)
+            if(!IsAlreadPush(shopId))
+            {
+                currentShopId = shopId;
+                AddHelpPointShop(shopId);
+                if (UpdateHelpPointShopEvent != null)
+                {
+                    UpdateHelpPointShopEvent();
+                }
+            }
+        }
+
+        public void GetNextHelpPointShop(int shopId)
+        {
+            RemoveHelpPointShop(shopId);
+            int length = helpPointShoplist.Count;
+            currentShopId = length == 0 ? 0 : helpPointShoplist[length - 1];
+            if (UpdateHelpPointShopEvent != null)
             {
                 UpdateHelpPointShopEvent();
             }
@@ -168,20 +206,26 @@
 
         public bool IsAlreadPush(int shopId)
         {
-            StoreConfig storeConfig = Config.Instance.Get<StoreConfig>(shopId);
-            if (storeConfig == null) return false;
-
-            ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(storeConfig.ItemID);
-            switch((ItemType)itemConfig.Type)
+            int type = 0;
+            storeModel.TryGetPushTypeByShopId(shopId, out type);
+            switch (type)
             {
-                case ItemType.OfflineCard:
+                case 1:
+                    if(todayShoplist != null 
+                        && todayShoplist.Contains(shopId))
+                    {
+                        return true;
+                    }
                     break;
-                case ItemType.MountDan:
-                    break;
-                default:
+                case 2:
+                    if (lifeShoplist != null
+                        && lifeShoplist.Contains(shopId))
+                    {
+                        return true;
+                    }
                     break;
             }
-            return true;
+            return false;
         }
     }
 }

--
Gitblit v1.8.0