From 920b4440b155573ed0285b63d3c0e788f0db44dd Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期二, 26 二月 2019 11:21:34 +0800
Subject: [PATCH] 6255 【前端】【2.0】神秘商店开发
---
System/Store/StoreModel.cs | 63 +++++++++++++++++++++++--------
1 files changed, 46 insertions(+), 17 deletions(-)
diff --git a/System/Store/StoreModel.cs b/System/Store/StoreModel.cs
index ea78d94..8db3f2e 100644
--- a/System/Store/StoreModel.cs
+++ b/System/Store/StoreModel.cs
@@ -29,7 +29,7 @@
}
[XLua.LuaCallCSharp]
-public class StoreModel : Model, IBeforePlayerDataInitialize, IAfterPlayerDataInitialize, IPlayerLoginOk
+public class StoreModel : Model, IBeforePlayerDataInitialize, IAfterPlayerDataInitialize, IPlayerLoginOk, ISwitchAccount
{
public int[] normalBuyCoinsTypes { get; private set; }
public string UNIONSTORESAVE_KEY { get; private set; }
@@ -40,6 +40,7 @@
public Dictionary<int, int> showCoinsUIDict { get; private set; }
public int storeTrailerLv { get; private set; }
+ public bool isShowMysteryRefreshHint = true;
int mysteryRefreshedCount = 0;
List<int> mysteryCommondities = new List<int>();
bool isLogin = true;
@@ -47,7 +48,7 @@
public event Action mysteryShopRefreshEvent;
RuneModel runeModel { get { return ModelCenter.Instance.GetModel<RuneModel>(); } }
- PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
+ PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
private bool isUpdatePlayerLv;
@@ -84,7 +85,7 @@
TimeMgr.Instance.OnHourEvent -= RefreshServerHour;
GlobalTimeEvent.Instance.secondEvent -= UpdateSecond;
NewBieCenter.Instance.guideBeginEvent -= GuidBegin;
- playerPack.refreshItemCountEvent -= UpdateFairyEquip;
+ packModel.refreshItemCountEvent -= UpdateFairyEquip;
shopItemlimitDict.Clear();
petAndMountPushlist.Clear();
ClearPushData();
@@ -113,7 +114,7 @@
WindowCenter.Instance.windowAfterOpenEvent += windowAfterOpen;
WindowCenter.Instance.windowAfterCloseEvent += windowAfterClose;
NewBieCenter.Instance.guideBeginEvent += GuidBegin;
- playerPack.refreshItemCountEvent += UpdateFairyEquip;
+ packModel.refreshItemCountEvent += UpdateFairyEquip;
UpdateShowStore();
SetIsMustBuyDay();
ControllerRedPoint();
@@ -124,6 +125,11 @@
isLogin = false;
}
+ public void OnSwitchAccount()
+ {
+ isShowMysteryRefreshHint = true;
+ }
+
public override void UnInit()
{
MainInterfaceWin.IsCopyOfThePanel -= OnMoveTopPart;
@@ -131,8 +137,8 @@
public void RefreshMysteryShop()
{
- var consumablesOwn = 0;
- var consumablesNeed = 1;
+ var consumablesOwn = packModel.GetItemCountByID(PackType.Item, GeneralDefine.mysteryShopRefreshItem);
+ var consumablesNeed = GetMysteryShopRefreshItemNeed();
if (consumablesOwn >= consumablesNeed)
{
var info = new CA232_tagCMRefreshMysticalShop();
@@ -140,8 +146,8 @@
return;
}
- var moneyOwn = 0;
- var moneyNeed = 0;
+ var moneyOwn = UIHelper.GetMoneyCnt(1);
+ var moneyNeed = (ulong)(GeneralDefine.mysteryShopRefreshItemValue * consumablesNeed);
if (moneyOwn >= moneyNeed)
{
var info = new CA232_tagCMRefreshMysticalShop();
@@ -149,7 +155,26 @@
return;
}
- //鍘诲厖鍊煎惂
+ WindowCenter.Instance.Open<RechargeTipWin>();
+ }
+
+ public int GetMysteryShopRefreshItemNeed()
+ {
+ var enumerator = GeneralDefine.mysteryShopRefreshItemCount.GetEnumerator();
+ var need = enumerator.Current.Value;
+ while (enumerator.MoveNext())
+ {
+ if (mysteryRefreshedCount > enumerator.Current.Key)
+ {
+ need = enumerator.Current.Value;
+ }
+ else
+ {
+ break;
+ }
+ }
+
+ return need;
}
public void UpdateMysteryCommondities(HA816_tagMCMysticalShopInfo info)
@@ -419,27 +444,28 @@
public List<StoreData> TryGetStoreDatas(StoreFunc type)
{
+ var results = new List<StoreData>();
List<StoreData> datas = null;
if (showStoreTypeDict.TryGetValue((int)type, out datas))
{
switch (type)
{
case StoreFunc.MysteryStore:
- for (var i = datas.Count - 1; i >= 0; i--)
+ foreach (var item in datas)
{
- var data = datas[i];
- if (!mysteryCommondities.Contains(data.storeConfig.ID))
+ if (mysteryCommondities.Contains(item.storeConfig.ID))
{
- datas.RemoveAt(i);
+ results.Add(item);
}
}
break;
default:
+ results.AddRange(datas);
break;
}
}
- return datas;
+ return results;
}
public StoreData GetStoreData(int shopId)
@@ -1463,8 +1489,8 @@
{
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.GetItemByIndex(PackType.Equip, 9);
- ItemModel itemModel2 = playerPack.GetItemByIndex(PackType.Equip, 10);
+ ItemModel itemModel1 = packModel.GetItemByIndex(PackType.Equip, 9);
+ ItemModel itemModel2 = packModel.GetItemByIndex(PackType.Equip, 10);
if (itemModel1 == null
&& (!PlayerPrefs.HasKey(key1) || LocalSave.GetBool(key1)))
{
@@ -1856,12 +1882,14 @@
funcOrder = -1;
jumpShopId = 0;
}
+
+
#endregion
}
public enum StoreFunc
{
- MysteryStore = 1, //1锛氭瘡鍛ㄩ檺璐�
+ WeekStore = 1, //1锛氭瘡鍛ㄩ檺璐�
CommonStore = 2, //2锛氬父鐢ㄩ亾鍏�
GrowStrongerStore = 3, //3锛氭垚闀垮彉寮�
BindStore = 4, //4锛氱粦鐜夊晢鍩�
@@ -1877,6 +1905,7 @@
OSGift = 14,//寮�鏈嶇ぜ鍖�
OSTimeLimitGift = 15,//闄愭椂鐗规儬
CrossOneVsOneHonor = 17,//鑽h獕鍟嗗簵
+ MysteryStore = 18, //1锛氱绉樺晢搴�
DanDrugStore = 30, //涓硅嵂鍥炴敹鍟嗗簵
}
--
Gitblit v1.8.0