From 4af082f15d5c3097056a518f383799ee7df8c852 Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期二, 04 九月 2018 17:32:54 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/Guard/GuardModel.cs                            |   10 +++++++++-
 System/Store/BagStoreWin.cs                           |    4 ++--
 System/Store/StoreModel.cs                            |   19 +++++++++++++------
 System/Store/RuneStoreWin.cs                          |    5 +++--
 System/Store/UnionStoreWin.cs                         |    9 +++++++--
 System/BlastFurnace/DanDrugRecycleTip.cs              |    3 ++-
 System/Treasure/TreasureCyclicScroll.cs               |    2 +-
 Core/GameEngine/Model/Player/Fairy/PlayerFairyData.cs |    2 +-
 System/Store/StoreWin.cs                              |    3 ++-
 Utility/LanguageVerify.cs                             |    3 +++
 10 files changed, 43 insertions(+), 17 deletions(-)

diff --git a/Core/GameEngine/Model/Player/Fairy/PlayerFairyData.cs b/Core/GameEngine/Model/Player/Fairy/PlayerFairyData.cs
index ab6284d..5e013b8 100644
--- a/Core/GameEngine/Model/Player/Fairy/PlayerFairyData.cs
+++ b/Core/GameEngine/Model/Player/Fairy/PlayerFairyData.cs
@@ -311,7 +311,7 @@
         fairy = null;
         mine = null;
         ChatCtrl.Inst.ClearChatInfo(ChatInfoType.Fairy);
-        PlayerPrefs.DeleteKey(m_storeModel.UNIONSTORESAVE_KEY);
+      
     }
     #endregion
 
diff --git a/System/BlastFurnace/DanDrugRecycleTip.cs b/System/BlastFurnace/DanDrugRecycleTip.cs
index 02f59a1..ee6759f 100644
--- a/System/BlastFurnace/DanDrugRecycleTip.cs
+++ b/System/BlastFurnace/DanDrugRecycleTip.cs
@@ -37,7 +37,7 @@
             blastFurnace.RefreshSelectRecycleAct += RefreshRecycleGetMoney;
             danDrugCtrl.OnRefreshCell += RefreshRecycleDan;
             shopCtrl.OnRefreshCell += RefreshShopCell;
-            m_storeModel.RefreshBuyShopLimitEvent = CreateShopCell;
+            m_storeModel.RefreshBuyShopLimitEvent += CreateShopCell;
             m_storeModel.RefreshTCBPlayerDataEvent += RefreshRecycleScore;
             blastFurnace.RefreshMakeItemAnswerAct += OnGetRecycleResult;
             m_storeModel.storeFuncType = StoreFunc.DanDrugStore;
@@ -53,6 +53,7 @@
             blastFurnace.RefreshSelectRecycleAct -= RefreshRecycleGetMoney;
             blastFurnace.RefreshMakeItemAnswerAct -= OnGetRecycleResult;
             playerPack.RefreshItemCountAct -= RefreshItemCnt;
+            m_storeModel.RefreshBuyShopLimitEvent -= CreateShopCell;
             recycleBtn.RemoveAllListeners();
             GlobalTimeEvent.Instance.secondEvent -= RefreshResetTime;
         }
diff --git a/System/Guard/GuardModel.cs b/System/Guard/GuardModel.cs
index cf3ef6b..ff5d02d 100644
--- a/System/Guard/GuardModel.cs
+++ b/System/Guard/GuardModel.cs
@@ -5,7 +5,7 @@
 using UnityEngine;
 namespace Snxxz.UI
 {
-    public class GuardModel : Model, IAfterPlayerDataInitialize
+    public class GuardModel : Model, IAfterPlayerDataInitialize, IPlayerLoginOk
     {
         List<int> fairyLandGuardItems = new List<int>();
 
@@ -28,6 +28,10 @@
 
         public void OnAfterPlayerDataInitialize()
         {
+        }
+
+        public void OnPlayerLoginOk()
+        {
             SnxxzGame.Instance.StartCoroutine(Co_LoadGuard());
         }
 
@@ -46,6 +50,10 @@
             }
             PlayerPackModel _packModel = ModelCenter.Instance.GetModel<PlayerPackModel>();
             SinglePackModel _equipModel = _packModel.GetSinglePackModel(PackType.rptEquip);
+            if (_equipModel == null)
+            {
+                yield break;
+            }
             var _itemModel = _equipModel.GetItemModelByIndex((int)RoleEquipType.retSpiritAnimal);
             if (_itemModel != null && _itemModel.itemInfo != null)
             {
diff --git a/System/Store/BagStoreWin.cs b/System/Store/BagStoreWin.cs
index 23831c9..f77059a 100644
--- a/System/Store/BagStoreWin.cs
+++ b/System/Store/BagStoreWin.cs
@@ -58,7 +58,7 @@
             m_storeModel.storeFuncType = StoreFunc.BagStore;
             InitModel();
             OnFrenshMoneyInfo();
-            m_storeModel.RefreshBuyShopLimitEvent = InitModel;
+            m_storeModel.RefreshBuyShopLimitEvent += InitModel;
             PlayerDatas.Instance.RefreshPlayerInfoEvent += OnFrenshMoneyInfo;
         }
 
@@ -69,7 +69,7 @@
 
         protected override void OnPreClose()
         {
-           
+            m_storeModel.RefreshBuyShopLimitEvent -= InitModel;
         }
 
         protected override void OnAfterClose()
diff --git a/System/Store/RuneStoreWin.cs b/System/Store/RuneStoreWin.cs
index 2114e22..d8effb9 100644
--- a/System/Store/RuneStoreWin.cs
+++ b/System/Store/RuneStoreWin.cs
@@ -57,7 +57,7 @@
         protected override void OnPreOpen()
         {
 
-            m_storeModel.RefreshBuyShopLimitEvent = InitModel;
+            m_storeModel.RefreshBuyShopLimitEvent += InitModel;
             model.OnRefreshRuneChip += OnFrenshMoneyInfo;
             _tagFuncModel = Config.Instance.Get<FuncConfigConfig>("RuneShop");
             m_storeModel.storeFuncType = StoreFunc.RuneStore;
@@ -75,7 +75,8 @@
         }
 
         protected override void OnAfterClose()
-        {
+        {
+            m_storeModel.RefreshBuyShopLimitEvent -= InitModel;
             runemodel.OnRefreshRuneChip -= OnFrenshMoneyInfo;
         }
         #endregion
diff --git a/System/Store/StoreModel.cs b/System/Store/StoreModel.cs
index b570cfe..f07b9ac 100644
--- a/System/Store/StoreModel.cs
+++ b/System/Store/StoreModel.cs
@@ -52,6 +52,11 @@
 
     public void OnBeforePlayerDataInitialize()
     {
+        FuncOpen.Instance.OnFuncStateChangeEvent -= FuncStateChange;
+        PlayerDatas.Instance.fairyData.OnRefreshFairyMine -= RefreshServerHour;
+        PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= RefreshFamilyLv;
+        RefreshTCBPlayerDataEvent -= RefreshPlayerLv;
+        TimeMgr.Instance.OnHourEvent -= RefreshServerHour;
         shopItemlimitDict.Clear();
         tagTowerModel = null;
         storeFuncType = StoreFunc.WeekStore;
@@ -62,21 +67,19 @@
     public void OnAfterPlayerDataInitialize()
     {
         UNIONSTORESAVE_KEY = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, LocalSaveStoreType.UnionStore);
+        DebugEx.Log("UNIONSTORESAVE_KEY:" + UNIONSTORESAVE_KEY);
         StoreEffectRecord_Key = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "StoreEffectRecord");
     }
 
     public void OnPlayerLoginOk()
     {
-        PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= RefreshFamilyLv;
+      
         PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += RefreshFamilyLv;
-        PlayerDatas.Instance.fairyData.OnRefreshFairyMine -= RefreshServerHour;
         PlayerDatas.Instance.fairyData.OnRefreshFairyMine += RefreshServerHour;
-        FuncOpen.Instance.OnFuncStateChangeEvent -= FuncStateChange;
         FuncOpen.Instance.OnFuncStateChangeEvent += FuncStateChange;
-        RefreshTCBPlayerDataEvent -= RefreshPlayerLv;
         RefreshTCBPlayerDataEvent += RefreshPlayerLv;
-        TimeMgr.Instance.OnHourEvent -= RefreshServerHour;
         TimeMgr.Instance.OnHourEvent += RefreshServerHour;
+
         shoplist = null;
         CheckWeekStoreIsShopBuy(out shoplist);
         ControllerRedPoint();
@@ -228,9 +231,13 @@
     private void RefreshServerHour()
     {
         ControllerRedPoint();
+        if(!PlayerDatas.Instance.fairyData.HasFairy)
+        {
+            PlayerPrefs.DeleteKey(UNIONSTORESAVE_KEY);
+        }
     }
 
-    public Action RefreshBuyShopLimitEvent;
+    public event Action RefreshBuyShopLimitEvent;
 
     public StoreFunc storeFuncType = StoreFunc.WeekStore;
     private Dictionary<uint, BuyShopItemLimit> shopItemlimitDict = new Dictionary<uint, BuyShopItemLimit>();
diff --git a/System/Store/StoreWin.cs b/System/Store/StoreWin.cs
index bfca90e..0e016fd 100644
--- a/System/Store/StoreWin.cs
+++ b/System/Store/StoreWin.cs
@@ -98,7 +98,7 @@
         {
             shopId = 0;
             m_storeModel.RefreshTCBPlayerDataEvent += OnRefreshPlayerInfo;
-            m_storeModel.RefreshBuyShopLimitEvent = OnCreate;
+            m_storeModel.RefreshBuyShopLimitEvent += OnCreate;
             RefreshCoins();
             RefreshResetTime();
         }
@@ -141,6 +141,7 @@
         protected override void OnPreClose()
         {
             m_storeModel.shoplist.Clear();
+            m_storeModel.RefreshBuyShopLimitEvent -= OnCreate;
             GlobalTimeEvent.Instance.secondEvent -= RefreshResetTime;
             m_storeModel.RefreshTCBPlayerDataEvent -= OnRefreshPlayerInfo;
            
diff --git a/System/Store/UnionStoreWin.cs b/System/Store/UnionStoreWin.cs
index e806278..b0407d3 100644
--- a/System/Store/UnionStoreWin.cs
+++ b/System/Store/UnionStoreWin.cs
@@ -71,7 +71,7 @@
             m_storeModel.storeFuncType = StoreFunc.ToolStore;
             m_storeModel.RefreshTCBPlayerDataEvent += OnRefreshPlayerInfo;
             PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += CreateCell;
-            m_storeModel.RefreshBuyShopLimitEvent = CreateCell;
+            m_storeModel.RefreshBuyShopLimitEvent += CreateCell;
             CreateCell();
             RefreshUI();
         }
@@ -96,6 +96,7 @@
 
         protected override void OnPreClose()
         {
+            m_storeModel.RefreshBuyShopLimitEvent -= CreateCell;
             m_storeModel.RefreshTCBPlayerDataEvent -= OnRefreshPlayerInfo;
             PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= CreateCell;
         }
@@ -157,7 +158,11 @@
         private void CreateCell()
         {
             shopId = 0;
-            _unionLv = PlayerDatas.Instance.fairyData.fairy.FamilyLV;
+            _unionLv = 0;
+            if(PlayerDatas.Instance.fairyData.HasFairy)
+            {
+                _unionLv = PlayerDatas.Instance.fairyData.fairy.FamilyLV;
+            }
             base.CreateShopItemCell(_shopCtrl,2);
         }
 
diff --git a/System/Treasure/TreasureCyclicScroll.cs b/System/Treasure/TreasureCyclicScroll.cs
index 9bbf74d..004d73e 100644
--- a/System/Treasure/TreasureCyclicScroll.cs
+++ b/System/Treasure/TreasureCyclicScroll.cs
@@ -119,7 +119,7 @@
                 for (int i = 0; i < infiniteItems.Count; i++)
                 {
                     var item = infiniteItems[i] as TreasureAchievement;
-                    if (item != null && preIndex + i <= datas.Count)
+                    if (item != null && preIndex + i < datas.Count)
                     {
                         item.Display(datas[preIndex + i]);
                     }
diff --git a/Utility/LanguageVerify.cs b/Utility/LanguageVerify.cs
index b072358..b159bcc 100644
--- a/Utility/LanguageVerify.cs
+++ b/Utility/LanguageVerify.cs
@@ -57,6 +57,7 @@
         HttpRequest.Instance.RequestHttpPost(VerifyPlayerNameUrl, tables, HttpRequest.defaultHttpContentType, 3,
             (bool ok, string result) =>
                {
+                   DebugEx.Log(result);
                    if (ok)
                    {
                        var response = LitJson.JsonMapper.ToObject<VerifyResponse>(result);
@@ -120,6 +121,7 @@
         HttpRequest.Instance.RequestHttpPost(VerifyFairyUrl, tables, HttpRequest.defaultHttpContentType, 3,
             (bool ok, string result) =>
             {
+                DebugEx.Log(result);
                 if (ok)
                 {
                     var response = LitJson.JsonMapper.ToObject<VerifyResponse>(result);
@@ -185,6 +187,7 @@
         HttpRequest.Instance.RequestHttpPost(VerifyChatUrl, tables, HttpRequest.defaultHttpContentType, 3,
             (bool ok, string result) =>
             {
+                DebugEx.Log(result);
                 if (ok)
                 {
                     var response = LitJson.JsonMapper.ToObject<VerifyResponse>(result);

--
Gitblit v1.8.0