From 65fb6364670f86e21adfab1ae0b42a7be8dc07f4 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期六, 08 十二月 2018 15:52:37 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/Store/StoreModel.cs | 171 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 171 insertions(+), 0 deletions(-)
diff --git a/System/Store/StoreModel.cs b/System/Store/StoreModel.cs
index 2e50561..224138c 100644
--- a/System/Store/StoreModel.cs
+++ b/System/Store/StoreModel.cs
@@ -43,6 +43,7 @@
bool isLogin = true;
RuneModel runeModel { get { return ModelCenter.Instance.GetModel<RuneModel>(); } }
+ PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
ItemTipsModel _itemTipsModel;
ItemTipsModel itemTipsModel
@@ -83,6 +84,7 @@
RefreshTCBPlayerDataEvent -= RefreshPlayerLv;
TimeMgr.Instance.OnHourEvent -= RefreshServerHour;
NewBieCenter.Instance.guideBeginEvent -= GuidBegin;
+ playerPack.RefreshItemCountAct -= UpdateFairyEquip;
shopItemlimitDict.Clear();
petAndMountPushlist.Clear();
ClearPushData();
@@ -110,6 +112,7 @@
WindowCenter.Instance.windowAfterOpenEvent += windowAfterOpen;
WindowCenter.Instance.windowAfterCloseEvent += windowAfterClose;
NewBieCenter.Instance.guideBeginEvent += GuidBegin;
+ playerPack.RefreshItemCountAct += UpdateFairyEquip;
UpdateShowStore();
SetIsMustBuyDay();
ControllerRedPoint();
@@ -626,9 +629,13 @@
case PlayerDataRefresh.VIPLv:
case PlayerDataRefresh.Gold:
case PlayerDataRefresh.GoldPaper:
+ UpdateFreeShopRedpoint();
+ UpdateCanBuyRedpoint();
+ break;
case PlayerDataRefresh.FBHelpPoint:
UpdateFreeShopRedpoint();
UpdateCanBuyRedpoint();
+ UpdateFairyEquipRedpoint();
break;
}
}
@@ -708,6 +715,7 @@
UpdateCanBuyRedpoint();
UpdateMustBuyRedpoint();
UpdatePetAndMountPutAwayRedpoint();
+ UpdateFairyEquipRedpoint();
}
if (RefreshBuyShopLimitEvent != null)
RefreshBuyShopLimitEvent();
@@ -992,6 +1000,7 @@
UpdateCanBuyRedpoint();
UpdateMustBuyRedpoint();
UpdatePetAndMountPutAwayRedpoint();
+ UpdateFairyEquipRedpoint();
}
public bool IsNewDay(string recordKey)
@@ -1245,6 +1254,155 @@
}
}
+ private void UpdateFairyEquip(PackType type, int index, int id)
+ {
+ if (type != PackType.rptEquip
+ && (index != (int)RoleEquipType.retFairyCan || index != (int)RoleEquipType.retFairyCan2)) return;
+
+ ClearAllFairyEquipRedpoint();
+
+ }
+
+ public void UpdateFairyEquipRedpoint()
+ {
+ if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store)) return;
+
+ foreach (var key in showStoreTypeDict.Keys)
+ {
+ var storeDatas = showStoreTypeDict[key];
+ for (int i = 0; i < storeDatas.Count; i++)
+ {
+ var storeData = storeDatas[i];
+ var storeConfig = storeData.storeConfig;
+ int type = 0;
+ TryGetRedTypeByShopId(storeConfig.ID, out type);
+ if (type == 5)
+ {
+
+ string fairySaveKey = string.Empty;
+ bool isGetSave = TryGetFairySaveKey(storeConfig,out fairySaveKey);
+ int remainNum = 0;
+ if (!TryGetIsSellOut(storeConfig, out remainNum))
+ {
+ if (UIHelper.GetMoneyCnt(storeConfig.MoneyType) >= (ulong)storeConfig.MoneyNumber)
+ {
+ if (isGetSave)
+ {
+ shopRedDict[storeData.shopId].state = RedPointState.Simple;
+ LocalSave.SetBool(fairySaveKey, true);
+ }
+ else
+ {
+ shopRedDict[storeData.shopId].state = RedPointState.None;
+ }
+ }
+ else
+ {
+ if(shopRedDict[storeData.shopId].state != RedPointState.None)
+ {
+ LocalSave.SetBool(fairySaveKey,false);
+ shopRedDict[storeConfig.ID].state = RedPointState.None;
+ }
+ }
+ }
+ else
+ {
+ shopRedDict[storeConfig.ID].state = RedPointState.None;
+ }
+ }
+ }
+
+ }
+ }
+
+ public void ClearFairyEquipRedpoint(StoreConfig storeConfig)
+ {
+ int type = 0;
+ TryGetRedTypeByShopId(storeConfig.ID, out type);
+ if (type == 5)
+ {
+ if (shopRedDict[storeConfig.ID].state != RedPointState.None)
+ {
+ shopRedDict[storeConfig.ID].state = RedPointState.None;
+ string key1 = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "ShopId", storeConfig.ID, "EquipPlace:", 9);
+ string key2 = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "ShopId", storeConfig.ID, "EquipPlace:", 10);
+ if (LocalSave.GetBool(key1))
+ {
+ LocalSave.SetBool(key1, false);
+ }
+ else if (LocalSave.GetBool(key2))
+ {
+ LocalSave.SetBool(key2, false);
+ }
+ }
+ }
+ }
+
+ public void SwitchFuncTitleClearRedpoint(StoreFunc storeFunc)
+ {
+ if (storeFuncType == StoreFunc.IntegralStore && storeFunc != StoreFunc.IntegralStore)
+ {
+ ClearAllFairyEquipRedpoint();
+ }
+ }
+
+ private void ClearAllFairyEquipRedpoint()
+ {
+ foreach (var key in shopRedDict.Keys)
+ {
+ StoreConfig storeConfig = Config.Instance.Get<StoreConfig>(key);
+ ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(storeConfig.ItemID);
+ int type = 0;
+ TryGetRedTypeByShopId(storeConfig.ID, out type);
+ if (type == 5)
+ {
+ if (shopRedDict[key].state != RedPointState.None)
+ {
+ shopRedDict[key].state = RedPointState.None;
+ string key1 = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "ShopId", key, "EquipPlace:", 9);
+ string key2 = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "ShopId", key, "EquipPlace:", 10);
+
+ if(LocalSave.GetBool(key1))
+ {
+ LocalSave.SetBool(key1, false);
+ }
+ else if(LocalSave.GetBool(key2))
+ {
+ LocalSave.SetBool(key2, false);
+ }
+ }
+ }
+ }
+ }
+
+ public bool TryGetFairySaveKey(StoreConfig config,out string fairySaveKey)
+ {
+ fairySaveKey = string.Empty;
+ if (config == null) return false;
+
+ ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(config.ItemID);
+ if(itemConfig.EquipPlace == (int)RoleEquipType.retFairyCan)
+ {
+ string key1 = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "ShopId",config.ID,"EquipPlace:",9);
+ string key2 = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "ShopId", config.ID, "EquipPlace:",10);
+ ItemModel itemModel1 = playerPack.GetItemModelByIndex(PackType.rptEquip,9);
+ ItemModel itemModel2 = playerPack.GetItemModelByIndex(PackType.rptEquip, 10);
+ if(itemModel1 == null
+ && (!PlayerPrefs.HasKey(key1) || LocalSave.GetBool(key1)))
+ {
+ fairySaveKey = key1;
+ return true;
+ }
+ else if(itemModel2 == null
+ && (!PlayerPrefs.HasKey(key2) || LocalSave.GetBool(key2)))
+ {
+ fairySaveKey = key2;
+ return true;
+ }
+ }
+ return false;
+ }
+
public void UpdateMustBuyRedpoint()
{
if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store)) return;
@@ -1423,6 +1581,19 @@
}
}
+
+ public void CloseRedPoint(StoreConfig storeConfig)
+ {
+ ClearMustBuyRedpoint(storeConfig);
+ ClearPetAndMountRedpoint(storeConfig);
+ ClearFairyEquipRedpoint(storeConfig);
+ }
+
+ public void CloseAllRedpoint(StoreFunc storeFunc)
+ {
+ ClearAllPetAndMountRedpoint(storeFunc);
+ SwitchFuncTitleClearRedpoint(storeFunc);
+ }
#endregion
#region 鍧愰獞鐏靛疇鎺ㄩ��
--
Gitblit v1.8.0