From fa27fcddf47bf4ef847af3fce78c055cb334682f Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期四, 16 十月 2025 17:09:01 +0800
Subject: [PATCH] 125 战斗 结算部分容错 + 找错战场结算的问题修复
---
Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB421_tagMCTurnFightObjAction.cs | 2 +-
Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB423_tagMCTurnFightObjReborn.cs | 2 +-
Main/System/Battle/BattleManager.cs | 7 -------
Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB422_tagMCTurnFightObjDead.cs | 6 ++++--
Main/System/Battle/Motion/MotionBase.cs | 6 ++++++
Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0407_tagNPCDisappear.cs | 2 +-
Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB420_tagMCTurnFightState.cs | 4 ++--
7 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0407_tagNPCDisappear.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0407_tagNPCDisappear.cs
index 102df63..95bd33e 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0407_tagNPCDisappear.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0407_tagNPCDisappear.cs
@@ -15,7 +15,7 @@
//04 07 NPC娑堝け#tagNPCDisappear 涓殑瀛楁NPCID瀹為檯涓婂悓姝ョ殑鏄疧bjID锛屽彧鏄懡鍚嶉棶棰�
// 鎻愬墠缁撴潫鎴樻枟 鍒犻櫎NPCID锛堬級瀹為檯涓婃槸瀵硅薄鐨凮bjID
// battleField.NPCDisappear(vNetData.NPCID);
- battleField.DistributeNextPackage();
+ battleField?.DistributeNextPackage();
}
}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB420_tagMCTurnFightState.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB420_tagMCTurnFightState.cs
index e6409e9..612a104 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB420_tagMCTurnFightState.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB420_tagMCTurnFightState.cs
@@ -16,9 +16,9 @@
// TurnNum; // 褰撳墠杞
// Len;
// Msg; //size = Len
- JsonData extendData = JsonMapper.ToObject(vNetData.Msg);
if (battleField != null)
- {
+ {
+ JsonData extendData = JsonMapper.ToObject(vNetData.Msg);
battleField.OnTurnFightState(vNetData.TurnNum, vNetData.State, (int)vNetData.FuncLineID, extendData);
}
}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB421_tagMCTurnFightObjAction.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB421_tagMCTurnFightObjAction.cs
index a19ab02..8ff6cff 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB421_tagMCTurnFightObjAction.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB421_tagMCTurnFightObjAction.cs
@@ -9,7 +9,7 @@
base.Done(vNetPack);
HB421_tagMCTurnFightObjAction vNetData = vNetPack as HB421_tagMCTurnFightObjAction;
BattleField battleField = BattleManager.Instance.GetBattleField(vNetPack.packUID);
- battleField.OnTurnFightObjAction(vNetData.TurnNum, (int)vNetData.ObjID);
+ battleField?.OnTurnFightObjAction(vNetData.TurnNum, (int)vNetData.ObjID);
// BattleManager.Instance.OnTurnFightObjAction(vNetData.TurnNum, (int)vNetData.ObjID);
}
}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB422_tagMCTurnFightObjDead.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB422_tagMCTurnFightObjDead.cs
index ec4612a..b003cf8 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB422_tagMCTurnFightObjDead.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB422_tagMCTurnFightObjDead.cs
@@ -10,11 +10,13 @@
base.Done(vNetPack);
HB422_tagMCTurnFightObjDead vNetData = vNetPack as HB422_tagMCTurnFightObjDead;
+ BattleField battleField = BattleManager.Instance.GetBattleField(BattleManager.Instance.GetGUID(vNetPack.packUID));
+
// 鐢辨妧鑳藉幓閫氱煡鎴樺満姝讳骸 battleField.OnObjsDead(deadList)
#if UNITY_EDITOR
BattleDebug.LogError("缂栬緫鍣ㄤ笅鐨勬浜℃祴璇�");
- BattleField battleField = BattleManager.Instance.GetBattleField(BattleManager.Instance.GetGUID(vNetPack.packUID));
- battleField.OnObjsDead(new List<HB422_tagMCTurnFightObjDead>(){vNetData});
+ battleField?.OnObjsDead(new List<HB422_tagMCTurnFightObjDead>(){vNetData});
#endif
+ battleField?.DistributeNextPackage(); // 鍒嗗彂涓嬩竴涓寘
}
}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB423_tagMCTurnFightObjReborn.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB423_tagMCTurnFightObjReborn.cs
index 42b63eb..f5cfe3c 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB423_tagMCTurnFightObjReborn.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB423_tagMCTurnFightObjReborn.cs
@@ -11,6 +11,6 @@
HB423_tagMCTurnFightObjReborn vNetData = vNetPack as HB423_tagMCTurnFightObjReborn;
BattleField battleField = BattleManager.Instance.GetBattleField(vNetPack.packUID);
- battleField.OnObjReborn(vNetData);
+ battleField?.OnObjReborn(vNetData);
}
}
diff --git a/Main/System/Battle/BattleManager.cs b/Main/System/Battle/BattleManager.cs
index 366c219..fdcbb3f 100644
--- a/Main/System/Battle/BattleManager.cs
+++ b/Main/System/Battle/BattleManager.cs
@@ -452,13 +452,6 @@
{
Debug.LogError("DistributeNextPackage: 鍒嗗彂鍖呭紓甯� " + ex);
}
-
- if (queue.Count <= 0)
- {
- battleReportDict.Remove(guid);
- battlePackRelationList.Remove(guid);
- }
-
}
#endregion
diff --git a/Main/System/Battle/Motion/MotionBase.cs b/Main/System/Battle/Motion/MotionBase.cs
index 304d99e..f969f71 100644
--- a/Main/System/Battle/Motion/MotionBase.cs
+++ b/Main/System/Battle/Motion/MotionBase.cs
@@ -156,7 +156,13 @@
if (hasAnim)
{
if (currentTrack != skillTrack)
+ {
Debug.LogError("鎶�鑳藉姩鐢昏鎵撴柇锛屽己鍒剁粨鏉� " + skillConfig.SkillID);
+ skillBase.ForceFinished();
+ RemoveAction(frameHandler);
+ playingSkillAnim = false;
+ return;
+ }
if (skillTrack.TrackTime == 0) failCount++;
if (failCount > 100)
--
Gitblit v1.8.0