From a2c5b957715dd684e48108e16784b2080cdb4952 Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期五, 04 一月 2019 17:28:17 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs | 46 ++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 44 insertions(+), 2 deletions(-)
diff --git a/System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs b/System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs
index 01e1250..a450329 100644
--- a/System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs
+++ b/System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs
@@ -35,7 +35,7 @@
public DateTime matchStartTime { get; set; }
public DateTime roundEndTime { get; private set; }
StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }
-
+ public string LocalSaveThirdTypeKey = string.Empty;
public override void Init()
{
IsMatching = false;
@@ -45,6 +45,8 @@
public void OnBeforePlayerDataInitialize()
{
+ storeModel.RefreshBuyShopLimitEvent -= UpdateBuyShop;
+ TimeUtility.OnServerOpenDayRefresh -= UpdateServerOpenDay;
PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= UpdatePlayerData;
CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent -= UpdatePlayerInfo;
CrossServerOneVsOnePKSeason.Instance.updateSelfSeasonEvent -= UpdateSeason;
@@ -59,6 +61,7 @@
{
int playerId = (int)PlayerDatas.Instance.baseData.PlayerID;
PkResultLocalSaveKey = StringUtility.Contact("PkResultLocalSaveKey", playerId);
+ LocalSaveThirdTypeKey = StringUtility.Contact("HonorStoreThirdType",playerId);
GetLocalSaveData();
}
@@ -69,6 +72,8 @@
public void OnPlayerLoginOk()
{
+ storeModel.RefreshBuyShopLimitEvent += UpdateBuyShop;
+ TimeUtility.OnServerOpenDayRefresh += UpdateServerOpenDay;
PlayerDatas.Instance.PlayerDataRefreshInfoEvent += UpdatePlayerData;
CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent += UpdatePlayerInfo;
CrossServerOneVsOnePKSeason.Instance.updateSelfSeasonEvent += UpdateSeason;
@@ -76,6 +81,7 @@
rewardModel.CrossRealmPKAwardStateUpdate += UpdateDayAwardState;
CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent += UpdateDayAwardState;
dungeonModel.updateMissionEvent += UpdateFBHelp;
+ UpdateServerOpenDay();
UpdateDayAwardState();
if(IsMatching && CrossServerOneVsOnePKSeason.Instance.InOpenTime())
{
@@ -146,6 +152,14 @@
UpdateCanBuyRedpoint();
}
+ private void UpdateBuyShop()
+ {
+ var pkSeason = CrossServerOneVsOnePKSeason.Instance;
+ if (!pkSeason.IsEnterCrossServer()) return;
+
+ UpdateCanBuyRedpoint();
+ }
+
private void UpdatePlayerInfo()
{
UpdateCrossDayAwardsRedpoint();
@@ -211,6 +225,32 @@
if (x.CompareTo(y) != 0) return x.CompareTo(y);
return 0;
+ }
+
+ public bool IsNewDay { get; private set;}
+ private void UpdateServerOpenDay()
+ {
+ var pkSeason = CrossServerOneVsOnePKSeason.Instance;
+ if (!pkSeason.IsEnterCrossServer()) return;
+
+ IsNewDay = false;
+ int openDay = TimeUtility.OpenDay;
+ if(!PlayerPrefs.HasKey(LocalSaveThirdTypeKey))
+ {
+ IsNewDay = true;
+ LocalSave.SetInt(LocalSaveThirdTypeKey,openDay);
+ }
+ else
+ {
+ int localOpenDay = LocalSave.GetInt(LocalSaveThirdTypeKey);
+ if(openDay != localOpenDay)
+ {
+ IsNewDay = true;
+ LocalSave.SetInt(LocalSaveThirdTypeKey, openDay);
+ }
+ }
+
+ UpdateCanBuyRedpoint();
}
#region 琛ㄦ暟鎹�
@@ -577,6 +617,7 @@
}
#region 鑽h獕鍟嗗簵绾㈢偣
+
public const int CrossHonorStoreRedKey = 2130104;
public Redpoint crossHonorStoreRedpoint = new Redpoint(CrossOneVsOneRedKey, CrossHonorStoreRedKey);
private Dictionary<int, Redpoint> honorRedpointDict = new Dictionary<int, Redpoint>();
@@ -637,7 +678,7 @@
honorRedpointDict[storeConfig.ID].state = RedPointState.None;
if (!storeModel.TryGetIsSellOut(storeConfig, out remainNum))
{
- if(!PlayerPrefs.HasKey(key))
+ if(!PlayerPrefs.HasKey(key)|| IsNewDay)
{
if (UIHelper.GetMoneyCnt(storeConfig.MoneyType) >= (ulong)storeConfig.MoneyNumber)
{
@@ -679,6 +720,7 @@
public void ClearRedpoint(int shopId)
{
+ IsNewDay = false;
string record = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "ShopId", shopId);
if(honorRedpointDict[shopId].state != RedPointState.None)
{
--
Gitblit v1.8.0