From 054e1f023524bd8305ce4d37bfcae9c97c5dff2b Mon Sep 17 00:00:00 2001
From: QD_LCJ <461730578@qq.com>
Date: 星期四, 09 八月 2018 16:39:00 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0413_tagPlayerChangeEquip.cs |    5 +++++
 Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0415_tagPlayerUnEquipItem.cs |    5 +++++
 Fight/GameActor/GA_Player.cs                                                     |    4 ++++
 Fight/GameActor/GActorPlayerBase.cs                                              |   13 ++++++++-----
 4 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0413_tagPlayerChangeEquip.cs b/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0413_tagPlayerChangeEquip.cs
index 6bf76bc..d5e3e34 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0413_tagPlayerChangeEquip.cs
+++ b/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0413_tagPlayerChangeEquip.cs
@@ -51,6 +51,11 @@
             else if (vNetData.EquipIndex == (int)RoleEquipType.retSpiritAnimal)
             {
                 _player.SwitchGuard(vNetData.EquipID);
+                var _p = _player as GA_Player;
+                if (_p != null)
+                {
+                    _p.serverGuardId = (int)vNetData.EquipID;
+                }
             }
             else if (vNetData.EquipIndex == (int)RoleEquipType.retWeapon2)
             {
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0415_tagPlayerUnEquipItem.cs b/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0415_tagPlayerUnEquipItem.cs
index 90444c2..016b090 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0415_tagPlayerUnEquipItem.cs
+++ b/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0415_tagPlayerUnEquipItem.cs
@@ -43,6 +43,11 @@
             else if (vNetData.EquipIndex == (int)RoleEquipType.retSpiritAnimal)
             {
                 _player.SwitchGuard(0);
+                var _p = _player as GA_Player;
+                if (_p != null)
+                {
+                    _p.serverGuardId = 0;
+                }
             }
 
             if (vNetData.EquipIndex == (int)RoleEquipType.retClothes
diff --git a/Fight/GameActor/GA_Player.cs b/Fight/GameActor/GA_Player.cs
index 29a937a..f2819db 100644
--- a/Fight/GameActor/GA_Player.cs
+++ b/Fight/GameActor/GA_Player.cs
@@ -6,6 +6,9 @@
 
 public class GA_Player : GActorPlayerBase, IOtherSelectable
 {
+    // 涓哄畧鎶ょ壒娈婂畾涔夌殑褰撳墠鏄惁瑁呭瀹堟姢id
+    public int serverGuardId;
+
     // 绠�鏄撶殑鑴辨満鎸侫I鑽夌
     // 姝ラ 1. 瀵荤偣 2. 绉诲姩鑷� 3. 鏀句釜鏅敾
     private byte m_Step;
@@ -108,6 +111,7 @@
             else if (_equipInfo.Place == (int)RoleEquipType.retSpiritAnimal)
             {
                 SwitchGuard(_equipInfo.ItemID);
+                serverGuardId = (int)_equipInfo.ItemID;
             }
             else if (_equipInfo.Place == (int)RoleEquipType.mount)
             {
diff --git a/Fight/GameActor/GActorPlayerBase.cs b/Fight/GameActor/GActorPlayerBase.cs
index a0a15f2..41f8fef 100644
--- a/Fight/GameActor/GActorPlayerBase.cs
+++ b/Fight/GameActor/GActorPlayerBase.cs
@@ -2068,16 +2068,19 @@
 
         ShowOrHide = showOrHide;
 
-        if (ShowOrHide)
+        if (this is GA_Player)
         {
-            var _equipModel = PlayerBackModel.GetSinglePackModel(PackType.rptEquip);
-            var _itemModel = _equipModel.GetItemModelByIndex((int)RoleEquipType.retSpiritAnimal);
+            var _player = this as GA_Player;
 
-            if (_itemModel != null)
+            if (ShowOrHide)
             {
-                SwitchGuard((uint)_itemModel.itemInfo.ItemID);
+                if (_player.serverGuardId != 0)
+                {
+                    SwitchGuard((uint)_player.serverGuardId);
+                }
             }
         }
+
     }
 
     private void ChangeBinderToClothes()

--
Gitblit v1.8.0