From ee032c35c49d47daba2dee1580b3abbe59d59bd8 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 01 九月 2025 16:29:46 +0800
Subject: [PATCH] 125 【战斗】战斗系统 战斗npc消失的问题处理

---
 Main/System/Battle/BattleObject/BattleObjMgr.cs |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/Main/System/Battle/BattleObject/BattleObjMgr.cs b/Main/System/Battle/BattleObject/BattleObjMgr.cs
index d539ef7..833e788 100644
--- a/Main/System/Battle/BattleObject/BattleObjMgr.cs
+++ b/Main/System/Battle/BattleObject/BattleObjMgr.cs
@@ -110,9 +110,15 @@
         {
             if (allBattleObjDict.TryGetValue((int)objID, out BattleObject battleObj))
             {
+                if (battleObj.Camp == BattleCamp.Red)
+                {
+                    redCampDict.Remove(battleObj.teamHero.positionNum);
+                }
+                else
+                {
+                    blueCampDict.Remove(battleObj.teamHero.positionNum);
+                }
                 allBattleObjDict.Remove((int)objID);
-                redCampDict.Remove((int)objID);
-                blueCampDict.Remove((int)objID);
                 BattleObjectFactory.DestroyBattleObject((int)objID, battleObj);
             }
         }
@@ -123,10 +129,11 @@
         foreach (var item in campDict)
         {
             BattleObject battleObj = item.Value;
+            var objId = item.Key;
             if (battleObj != null)
             {
-                allBattleObjDict.Remove(battleObj.ObjID);
-                BattleObjectFactory.DestroyBattleObject(item.Key, battleObj);
+                allBattleObjDict.Remove(objId);
+                BattleObjectFactory.DestroyBattleObject(objId, battleObj);
             }
         }
         campDict.Clear();

--
Gitblit v1.8.0