From dfc9cc25d07b7fc8a2c82c8cfddbda793c6c72b7 Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期四, 17 一月 2019 01:05:15 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/KnapSack/Logic/PlayerPackModels.cs |   27 +++++++++++++++++++--------
 1 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/System/KnapSack/Logic/PlayerPackModels.cs b/System/KnapSack/Logic/PlayerPackModels.cs
index e4026b3..ef5a7fc 100644
--- a/System/KnapSack/Logic/PlayerPackModels.cs
+++ b/System/KnapSack/Logic/PlayerPackModels.cs
@@ -26,7 +26,7 @@
         BlastFurnaceModel FurnaceModel { get { return ModelCenter.Instance.GetModel<BlastFurnaceModel>(); } }
         public List<int> LocalSavePlaceArray { get; private set; }
         public Dictionary<int, List<int>> ShareUseCntItemDict { get; private set;}
-
+        private bool isUpdatePlayerLv = false;
         public override void Init()
         {
             ParseConfig();
@@ -107,6 +107,7 @@
 
         public void OnBeforePlayerDataInitialize()
         {
+            GlobalTimeEvent.Instance.secondEvent -= UpdateSecond;
             PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= UpdatePlayerLv;
             LocalSave.DeleteKey(RecordKnapsackTitle);
             cacheMapId = 0;
@@ -146,9 +147,9 @@
             {
                 LocalSavePlaceArray = null;
             }
-
+            GlobalTimeEvent.Instance.secondEvent += UpdateSecond;
             PlayerDatas.Instance.PlayerDataRefreshInfoEvent += UpdatePlayerLv;
-            UpdatePlayerLv(PlayerDataRefresh.LV);
+            isUpdatePlayerLv = true;
         }
 
         public override void UnInit()
@@ -699,14 +700,24 @@
             return 0;
         }
 
+        private void UpdateSecond()
+        {
+            if(isUpdatePlayerLv)
+            {
+                for (int i = 1; i < 13; i++)
+                {
+                    CheckRoleEquipByPlace((RoleEquipType)i);
+                }
+                UpdateRoleEquipRed();
+                isUpdatePlayerLv = false;
+            }
+        }
+
         private void UpdatePlayerLv(PlayerDataRefresh type)
         {
             if (type != PlayerDataRefresh.LV) return;
-            for (int i = 1; i < 13; i++)
-            {
-                CheckRoleEquipByPlace((RoleEquipType)i);
-            }
-            UpdateRoleEquipRed();
+
+            isUpdatePlayerLv = true;
         }
 
         public bool IsShowAddEquipByPlace(int equipPlace)

--
Gitblit v1.8.0