From 6102258de40f51e6262de5ea0f40928ea9e835e4 Mon Sep 17 00:00:00 2001
From: client_LCJ <461730578@qq.com>
Date: 星期五, 10 八月 2018 20:57:48 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/Store/StoreModel.cs | 77 +++++++++++++++++++++++++++++---------
1 files changed, 59 insertions(+), 18 deletions(-)
diff --git a/System/Store/StoreModel.cs b/System/Store/StoreModel.cs
index 2d593f6..626d42b 100644
--- a/System/Store/StoreModel.cs
+++ b/System/Store/StoreModel.cs
@@ -37,6 +37,7 @@
public Dictionary<int,Dictionary<int,int>> JobReplaceIdDict = new Dictionary<int, Dictionary<int, int>>();
public Dictionary<int, string> resetTimeDict { get; private set; }
public Dictionary<int, int> showCoinsUIDict { get; private set; }
+ public int[] StoreRedIdlist { get; private set;}
public override void Init()
{
FuncConfigConfig buyItemHinit = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("BuyItemHinit");
@@ -45,6 +46,8 @@
resetTimeDict = ConfigParse.GetDic<int, string>(restTimeConfig.Numerical1);
FuncConfigConfig mallCurrency = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("MallCurrency");
showCoinsUIDict = ConfigParse.GetDic<int, int>(mallCurrency.Numerical1);
+ FuncConfigConfig mallPush = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("MallPush");
+ StoreRedIdlist = ConfigParse.GetMultipleStr<int>(mallPush.Numerical2);
}
public void OnBeforePlayerDataInitialize()
@@ -68,8 +71,8 @@
PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += RefreshFamilyLv;
FuncOpen.Instance.OnFuncStateChangeEvent -= FuncStateChange;
FuncOpen.Instance.OnFuncStateChangeEvent += FuncStateChange;
- PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= RefreshPlayerLv;
- PlayerDatas.Instance.PlayerDataRefreshInfoEvent += RefreshPlayerLv;
+ RefreshTCBPlayerDataEvent -= RefreshPlayerLv;
+ RefreshTCBPlayerDataEvent += RefreshPlayerLv;
TimeMgr.Instance.OnHourEvent -= RefreshServerHour;
TimeMgr.Instance.OnHourEvent += RefreshServerHour;
shoplist = null;
@@ -120,9 +123,16 @@
private void RefreshPlayerLv(PlayerDataRefresh type)
{
- if (type != PlayerDataRefresh.LV && type != PlayerDataRefresh.VIPLv) return;
-
- CheckShopRedpoint();
+ switch(type)
+ {
+ case PlayerDataRefresh.LV:
+ case PlayerDataRefresh.VIPLv:
+ case PlayerDataRefresh.Gold:
+ case PlayerDataRefresh.GoldPaper:
+ case PlayerDataRefresh.FBHelpPoint:
+ CheckShopRedpoint();
+ break;
+ }
}
public override void UnInit()
@@ -765,17 +775,7 @@
StoreConfig storeConfig = ConfigManager.Instance.GetTemplate<StoreConfig>(key);
if (storeConfig.MoneyNumber == 0)
{
- int canBuyCnt = 0;
- int addBuyCnt = 0;
- bool isLimitBuy = BuyItemPopModel.Instance.CheckIsLimitBuyCnt(storeConfig, out canBuyCnt, out addBuyCnt);
- BuyShopItemLimit shopItemLimit = GetBuyShopLimit((uint)storeConfig.ID);
- int remainNum = canBuyCnt;
- if (shopItemLimit != null)
- {
- remainNum -= shopItemLimit.BuyCnt;
- }
- List<StoreConfig> list = StoreConfig.GetSellShoplist();
- if (remainNum > 0 && list.Contains(storeConfig))
+ if(CheckShopIsCanBuy(storeConfig))
{
shopRedDict[storeConfig.ID].state = RedPointState.Simple;
}
@@ -783,15 +783,56 @@
{
shopRedDict[storeConfig.ID].state = RedPointState.None;
}
-
}
else
{
- shopRedDict[storeConfig.ID].state = RedPointState.None;
+ if(CheckScoreStoreIsCanBuy(storeConfig))
+ {
+ shopRedDict[storeConfig.ID].state = RedPointState.Simple;
+ }
+ else
+ {
+ shopRedDict[storeConfig.ID].state = RedPointState.None;
+ }
}
}
}
+ public bool CheckScoreStoreIsCanBuy(StoreConfig storeConfig)
+ {
+ List<StoreConfig> list = StoreConfig.GetSellShoplist();
+ if(StoreRedIdlist.Contains(storeConfig.ID))
+ {
+ if (CheckShopIsCanBuy(storeConfig))
+ {
+ if(UIHelper.GetMoneyCnt(storeConfig.MoneyType) >= (ulong)storeConfig.MoneyNumber)
+ {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ public bool CheckShopIsCanBuy(StoreConfig storeConfig)
+ {
+ int canBuyCnt = 0;
+ int addBuyCnt = 0;
+ bool isLimitBuy = BuyItemPopModel.Instance.CheckIsLimitBuyCnt(storeConfig, out canBuyCnt, out addBuyCnt);
+ BuyShopItemLimit shopItemLimit = GetBuyShopLimit((uint)storeConfig.ID);
+ int remainNum = canBuyCnt;
+ if (shopItemLimit != null)
+ {
+ remainNum -= shopItemLimit.BuyCnt;
+ }
+ List<StoreConfig> list = StoreConfig.GetSellShoplist();
+ if (remainNum > 0 && list.Contains(storeConfig))
+ {
+ return true;
+ }
+ return false;
+ }
+
#endregion
}
--
Gitblit v1.8.0