From bbe421e9f3abcfffcec6a485c924abff7eeb424b Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期二, 13 十一月 2018 14:39:49 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/Store/StoreModel.cs | 9 ++
Utility/EnumHelper.cs | 2
System/KnapSack/FBHelpPointExchageModel.cs | 207 +++++++++++++++++++++++++++++++++++++++++++++++++++
System/KnapSack/FBHelpPointExchageModel.cs.meta | 12 +++
4 files changed, 229 insertions(+), 1 deletions(-)
diff --git a/System/KnapSack/FBHelpPointExchageModel.cs b/System/KnapSack/FBHelpPointExchageModel.cs
new file mode 100644
index 0000000..d628bdb
--- /dev/null
+++ b/System/KnapSack/FBHelpPointExchageModel.cs
@@ -0,0 +1,207 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using UnityEngine;
+using TableConfig;
+
+namespace Snxxz.UI
+{
+ [XLua.LuaCallCSharp]
+ public class FBHelpPointExchageModel : Model,IBeforePlayerDataInitialize,IPlayerLoginOk
+ {
+ public List<int> todayShoplist { get; private set; }
+ public List<int> lifeShoplist { get; private set; }
+ public List<int> helpPointShoplist = new List<int>();
+ public string shopDayLocalSave { get; private set;}
+ public string shopLifeLocalSave { get; private set;}
+ public string curDayLocalSave { get; private set; }
+ public int currentShopId { get; private set; }
+ public event Action UpdateHelpPointShopEvent;
+
+ StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }
+
+ public override void Init()
+ {
+
+ }
+
+ public void OnBeforePlayerDataInitialize()
+ {
+ currentShopId = 0;
+ helpPointShoplist.Clear();
+ PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= UpdateFBHelpPoint;
+ storeModel.UpdateHelpPointExchangeEvent -= UpdateHelpPointShop;
+ TimeMgr.Instance.OnDayEvent -= UpdateDay;
+ }
+
+ public void OnPlayerLoginOk()
+ {
+ int playerId = (int)PlayerDatas.Instance.baseData.PlayerID;
+ shopDayLocalSave = StringUtility.Contact("ShopDayLocalSave",playerId);
+ shopLifeLocalSave = StringUtility.Contact("ShopLifeLocalSave",playerId);
+ curDayLocalSave = StringUtility.Contact("CurDayLocalSave",playerId);
+ PlayerDatas.Instance.PlayerDataRefreshInfoEvent += UpdateFBHelpPoint;
+ TimeMgr.Instance.OnDayEvent += UpdateDay;
+ storeModel.UpdateHelpPointExchangeEvent += UpdateHelpPointShop;
+ GetLocalSaveData();
+ }
+
+ public override void UnInit()
+ {
+
+ }
+ #region 鏈湴璁板綍鏁版嵁鐨勫瓨鍌�
+ private bool IsNewDay()
+ {
+ if(!PlayerPrefs.HasKey(curDayLocalSave))
+ {
+ return true;
+ }
+ int saveDay = LocalSave.GetInt(curDayLocalSave);
+ int serverDay = TimeUtility.ServerNow.Day;
+ return serverDay != saveDay ? true : false;
+ }
+
+ private void SetCurDayLocalSave()
+ {
+ LocalSave.SetInt(curDayLocalSave,TimeUtility.ServerNow.Day);
+ }
+ /// <summary>
+ /// 鑾峰彇鏈湴璁板綍鏁版嵁
+ /// </summary>
+ private void GetLocalSaveData()
+ {
+ int[] dayShops = LocalSave.GetIntArray(shopDayLocalSave);
+ todayShoplist = dayShops == null ? null : dayShops.ToList();
+ int[] lifeShops = LocalSave.GetIntArray(shopLifeLocalSave);
+ lifeShoplist = lifeShops == null ? null : lifeShops.ToList();
+ if(IsNewDay())
+ {
+ ClearShopDayLocalSave();
+ SetCurDayLocalSave();
+ }
+ }
+
+ public void SetLocalSaveData(int type,int shopId)
+ {
+ switch(type)
+ {
+ case 1:
+ todayShoplist = todayShoplist == null ? new List<int>() : todayShoplist;
+ if(!todayShoplist.Contains(shopId))
+ {
+ todayShoplist.Add(shopId);
+ LocalSave.SetIntArray(shopDayLocalSave,todayShoplist.ToArray());
+ }
+ break;
+ case 2:
+ lifeShoplist = lifeShoplist == null ? new List<int>() : lifeShoplist;
+ if (!lifeShoplist.Contains(shopId))
+ {
+ lifeShoplist.Add(shopId);
+ LocalSave.SetIntArray(shopLifeLocalSave, lifeShoplist.ToArray());
+ }
+ break;
+ }
+ }
+
+ public void ClearShopDayLocalSave()
+ {
+ PlayerPrefs.DeleteKey(shopDayLocalSave);
+ if(todayShoplist != null)
+ {
+ todayShoplist.Clear();
+ }
+ }
+ #endregion
+
+ private void UpdateDay()
+ {
+ ClearShopDayLocalSave();
+ }
+
+ private void UpdateFBHelpPoint(PlayerDataRefresh type)
+ {
+ if (type != PlayerDataRefresh.FBHelpPoint) return;
+
+ for(int i = 0; i < helpPointShoplist.Count; i++)
+ {
+ var shopId = helpPointShoplist[i];
+ if (!CheckShopIsCanBuy(shopId))
+ {
+ RemoveHelpPointShop(shopId);
+ }
+ }
+ }
+
+ public void AddHelpPointShop(int shopId)
+ {
+ if(!helpPointShoplist.Contains(shopId))
+ {
+ helpPointShoplist.Add(shopId);
+ }
+ }
+
+ public void RemoveHelpPointShop(int shopId)
+ {
+ if (helpPointShoplist.Contains(shopId))
+ {
+ helpPointShoplist.Remove(shopId);
+ }
+ }
+
+ private void UpdateHelpPointShop(int shopId)
+ {
+ StoreConfig storeConfig = Config.Instance.Get<StoreConfig>(shopId);
+ if (storeConfig == null) return;
+
+ currentShopId = shopId;
+ AddHelpPointShop(shopId);
+ if(UpdateHelpPointShopEvent != null)
+ {
+ UpdateHelpPointShopEvent();
+ }
+ }
+
+ 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)
+ {
+ case ItemType.OfflineCard:
+ break;
+ case ItemType.MountDan:
+ break;
+ default:
+ break;
+ }
+ return true;
+ }
+
+ public bool CheckShopIsCanBuy(int shopId)
+ {
+ StoreConfig storeConfig = Config.Instance.Get<StoreConfig>(shopId);
+ if (storeConfig == null) return false;
+
+ int canBuyCnt = 0;
+ int addBuyCnt = 0;
+ bool isLimitBuy = BuyItemPopModel.Instance.CheckIsLimitBuyCnt(storeConfig, out canBuyCnt, out addBuyCnt);
+ BuyShopItemLimit shopItemLimit = storeModel.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;
+ }
+ }
+}
diff --git a/System/KnapSack/FBHelpPointExchageModel.cs.meta b/System/KnapSack/FBHelpPointExchageModel.cs.meta
new file mode 100644
index 0000000..3397ab9
--- /dev/null
+++ b/System/KnapSack/FBHelpPointExchageModel.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 86c457f98558ec44aa458b9a5bad445d
+timeCreated: 1542090743
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/System/Store/StoreModel.cs b/System/Store/StoreModel.cs
index f75ae3c..e26af1d 100644
--- a/System/Store/StoreModel.cs
+++ b/System/Store/StoreModel.cs
@@ -877,7 +877,7 @@
}
}
}
-
+ public event Action<int> UpdateHelpPointExchangeEvent;
public void UpdateCanBuyRedpoint()
{
if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store)) return;
@@ -892,6 +892,13 @@
if (UIHelper.GetMoneyCnt(storeConfig.MoneyType) >= (ulong)storeConfig.MoneyNumber)
{
shopRedDict[storeConfig.ID].state = RedPointState.Simple;
+ if(storeConfig.ShopType == (int)StoreFunc.IntegralStore)
+ {
+ if(UpdateHelpPointExchangeEvent != null)
+ {
+ UpdateHelpPointExchangeEvent(key);
+ }
+ }
}
else
{
diff --git a/Utility/EnumHelper.cs b/Utility/EnumHelper.cs
index 0ec9c62..9892eeb 100644
--- a/Utility/EnumHelper.cs
+++ b/Utility/EnumHelper.cs
@@ -666,6 +666,8 @@
public enum ItemType
{
Buff = 9, //Buff绫诲瀷
+ OfflineCard = 10, //绂荤嚎鎸傛満鍗�
+ MountDan = 21,//鍧愰獞涓�
MakerEquipSuitMat = 34, //瑁呭濂楄鏉愭枡
ComposeSuitStone = 35, //濂楄鐭崇鐗�
WingsMat = 39, //鍚堟垚缈呰唨鏉愭枡锛岀窘缈肩簿鐐兼潗鏂�
--
Gitblit v1.8.0