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