From 6e82336ed03fa9b48ca3713b62e36f1d016ae4dc Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 01 十二月 2025 16:12:05 +0800
Subject: [PATCH] 125 战斗 战报调试信息扩展

---
 Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB430_tagSCTurnFightReport.cs |  170 ++++++++++++++++++++++++++++++++++++++++--
 Main/Core/NetworkPackage/CustomServerPack/CustomHB430_tagSCTurnFightReport.cs               |   13 +++
 Main/Core/NetworkPackage/ServerPack/HB4_FightDefine/HB430_tagSCTurnFightReport.cs           |    4 
 Main/Core/NetworkPackage/CustomServerPack/CustomHB430_tagSCTurnFightReport.cs.meta          |   11 ++
 4 files changed, 187 insertions(+), 11 deletions(-)

diff --git a/Main/Core/NetworkPackage/CustomServerPack/CustomHB430_tagSCTurnFightReport.cs b/Main/Core/NetworkPackage/CustomServerPack/CustomHB430_tagSCTurnFightReport.cs
new file mode 100644
index 0000000..4ba94ea
--- /dev/null
+++ b/Main/Core/NetworkPackage/CustomServerPack/CustomHB430_tagSCTurnFightReport.cs
@@ -0,0 +1,13 @@
+using UnityEngine;
+using System.Collections;
+using System;
+using System.IO;
+
+// B4 30 鏌ョ湅鎴樻姤缁撴灉 #tagSCTurnFightReportRet
+
+public partial class HB430_tagSCTurnFightReport : GameNetPackBasic {
+
+    //鏄笉鏄洖鏀�
+    public bool isRecord = false;
+
+}
diff --git a/Main/Core/NetworkPackage/CustomServerPack/CustomHB430_tagSCTurnFightReport.cs.meta b/Main/Core/NetworkPackage/CustomServerPack/CustomHB430_tagSCTurnFightReport.cs.meta
new file mode 100644
index 0000000..0544605
--- /dev/null
+++ b/Main/Core/NetworkPackage/CustomServerPack/CustomHB430_tagSCTurnFightReport.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4948f08f4c291a0439af388446754c07
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB430_tagSCTurnFightReport.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB430_tagSCTurnFightReport.cs
index 7b39acd..46bde9e 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB430_tagSCTurnFightReport.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB430_tagSCTurnFightReport.cs
@@ -83,14 +83,62 @@
 #endif
                 }
             }
+#if UNITY_EDITOR
+            string originPack = string.Empty;
+            BattleField battleField = BattleManager.Instance.GetBattleField(guid);
+            
+            for (int i = 0; i < vPackList.Count; i++)
+            {
+                var pack = vPackList[i];
+                
+                if (pack is HB427_tagSCUseSkill skill)
+                {
+                    string heroName = skill.ObjID.ToString();
+                    if (battleField != null)
+                    {
+                        var battleObj = battleField.battleObjMgr.GetBattleObject((int)skill.ObjID);
+                        if (battleObj != null && battleObj.teamHero != null)
+                        {
+                            heroName = battleObj.teamHero.name;
+                        }
+                    }
+                    
+                    string skillName = SkillConfig.Get((int)skill.SkillID)?.SkillName ?? "Unknown";
+                    originPack += $"[{pack.packUID}] HB427_tagSCUseSkill - ObjID:{skill.ObjID} HeroName:{heroName} SkillID:{skill.SkillID} SkillName:{skillName}\n";
+                }
+                else if (pack is HB426_tagSCTurnFightTag tag)
+                {
+                    string signText = tag.Sign == 0 ? "Start" : tag.Sign == 1 ? "End" : "Unknown";
+                    originPack += $"[{pack.packUID}] HB426_tagSCTurnFightTag - Tag:{tag.Tag} Sign:{tag.Sign}({signText})\n";
+                }
+                else if (pack is HB422_tagMCTurnFightObjDead deadPack)
+                {
+                    string heroName = deadPack.ObjID.ToString();
+                    if (battleField != null)
+                    {
+                        var battleObj = battleField.battleObjMgr.GetBattleObject((int)deadPack.ObjID);
+                        if (battleObj != null && battleObj.teamHero != null)
+                        {
+                            heroName = battleObj.teamHero.name;
+                        }
+                    }
+                    originPack += $"[{pack.packUID}] HB422_tagMCTurnFightObjDead - ObjID:{deadPack.ObjID} HeroName:{heroName}\n";
+                }
+                else
+                {
+                    originPack += $"[{pack.packUID}] {pack.GetType().Name}\n";
+                }
+            }
+#endif
 
             vPackList = AnalysisPackQueueAndDistribute(guid, vPackList);
 
 #if UNITY_EDITOR
 if (Launch.Instance.isOpenSkillLogFile)
 {
-string packDetail = "AnalysisPackQueueAndDistribute 澶勭悊鍚庣殑鍖呭垪琛�:\n";
-packDetail += PrintPackListDetail(vPackList, 0);
+string packDetail = "澶勭悊鍓� : " + originPack + "\n";
+packDetail += "AnalysisPackQueueAndDistribute 澶勭悊鍚庣殑鍖呭垪琛�:\n";
+packDetail += PrintPackListDetail(vPackList, 0, guid);
 
 // 鍒嗘鎵撳嵃锛岄伩鍏嶆秷鎭鎴柇
 int chunkSize = 15000; // Unity鏃ュ織鍗曟潯娑堟伅鏈�澶ч暱搴︾害16000瀛楃
@@ -131,10 +179,13 @@
         }
     }
 
-    private string PrintPackListDetail(List<GameNetPackBasic> packList, int indent)
+    private string PrintPackListDetail(List<GameNetPackBasic> packList, int indent, string guid = "")
     {
         string result = string.Empty;
         string indentStr = new string(' ', indent * 2);
+        
+        // 灏濊瘯鑾峰彇鎴樺満锛岀敤浜庢煡璇㈡灏嗗悕瀛�
+        BattleField battleField = BattleManager.Instance.GetBattleField(guid);
         
         for (int i = 0; i < packList.Count; i++)
         {
@@ -142,7 +193,79 @@
             
             if (pack is HB427_tagSCUseSkill skill)
             {
-                result += $"{indentStr}[{i}] HB427_tagSCUseSkill - ObjID:{skill.ObjID} SkillID:{skill.SkillID} RelatedSkillID:{skill.RelatedSkillID} BattleType:{skill.BattleType} UID:{skill.packUID}\n";
+                string heroName = skill.ObjID.ToString();
+                if (battleField != null)
+                {
+                    var battleObj = battleField.battleObjMgr.GetBattleObject((int)skill.ObjID);
+                    if (battleObj != null && battleObj.teamHero != null)
+                    {
+                        heroName = battleObj.teamHero.name;
+                    }
+                }
+                
+                string skillName = SkillConfig.Get((int)skill.SkillID)?.SkillName ?? "Unknown";
+                
+                result += $"{indentStr}[{i}] HB427_tagSCUseSkill - ObjID:{skill.ObjID} HeroName:{heroName} SkillID:{skill.SkillID} SkillName:{skillName} RelatedSkillID:{skill.RelatedSkillID} BattleType:{skill.BattleType} UID:{skill.packUID}\n";
+                
+                // 鎵撳嵃涓昏浼ゅ鐩爣鍒楄〃
+                if (skill.HurtList != null && skill.HurtList.Length > 0)
+                {
+                    result += $"{indentStr}  HurtList ({skill.HurtList.Length}):\n";
+                    for (int j = 0; j < skill.HurtList.Length; j++)
+                    {
+                        var hurt = skill.HurtList[j];
+                        string targetName = hurt.ObjID.ToString();
+                        if (battleField != null)
+                        {
+                            var targetObj = battleField.battleObjMgr.GetBattleObject((int)hurt.ObjID);
+                            if (targetObj != null && targetObj.teamHero != null)
+                            {
+                                targetName = targetObj.teamHero.name;
+                            }
+                        }
+                        result += $"{indentStr}    [{j}] Target - ObjID:{hurt.ObjID} Name:{targetName} HurtHP:{hurt.HurtHP} AttackTypes:{hurt.AttackTypes}\n";
+                        
+                        // 鎵撳嵃璇ョ洰鏍囩殑棰濆浼ゅ鍒楄〃锛堝寮瑰皠鐨勫钩鎽婁激瀹筹級
+                        if (hurt.HurtListEx != null && hurt.HurtListEx.Length > 0)
+                        {
+                            result += $"{indentStr}      HurtListEx ({hurt.HurtListEx.Length}):\n";
+                            for (int k = 0; k < hurt.HurtListEx.Length; k++)
+                            {
+                                var hurtEx = hurt.HurtListEx[k];
+                                string targetExName = hurtEx.ObjID.ToString();
+                                if (battleField != null)
+                                {
+                                    var targetExObj = battleField.battleObjMgr.GetBattleObject((int)hurtEx.ObjID);
+                                    if (targetExObj != null && targetExObj.teamHero != null)
+                                    {
+                                        targetExName = targetExObj.teamHero.name;
+                                    }
+                                }
+                                result += $"{indentStr}        [{k}] ExTarget - ObjID:{hurtEx.ObjID} Name:{targetExName} HurtHP:{hurtEx.HurtHP} AttackTypes:{hurtEx.AttackTypes}\n";
+                            }
+                        }
+                    }
+                }
+                
+                // 鎵撳嵃棰濆浼ゅ鐩爣鍒楄〃锛堟簠灏勩�佸钩鎽婄瓑锛�
+                if (skill.HurtListEx != null && skill.HurtListEx.Length > 0)
+                {
+                    result += $"{indentStr}  HurtListEx ({skill.HurtListEx.Length}):\n";
+                    for (int j = 0; j < skill.HurtListEx.Length; j++)
+                    {
+                        var hurtEx = skill.HurtListEx[j];
+                        string targetExName = hurtEx.ObjID.ToString();
+                        if (battleField != null)
+                        {
+                            var targetExObj = battleField.battleObjMgr.GetBattleObject((int)hurtEx.ObjID);
+                            if (targetExObj != null && targetExObj.teamHero != null)
+                            {
+                                targetExName = targetExObj.teamHero.name;
+                            }
+                        }
+                        result += $"{indentStr}    [{j}] ExTarget - ObjID:{hurtEx.ObjID} Name:{targetExName} HurtHP:{hurtEx.HurtHP} AttackTypes:{hurtEx.AttackTypes}\n";
+                    }
+                }
                 
                 // 鎵撳嵃瀛愭妧鑳藉垪琛�
                 if (skill.subSkillList != null && skill.subSkillList.Count > 0)
@@ -151,7 +274,8 @@
                     int j = 0;
                     foreach (var subSkill in skill.subSkillList)
                     {
-                        result += $"{indentStr}    [{j}] SubSkill - SkillID:{subSkill.SkillID} RelatedSkillID:{subSkill.RelatedSkillID}\n";
+                        string subSkillName = SkillConfig.Get((int)subSkill.SkillID)?.SkillName ?? "Unknown";
+                        result += $"{indentStr}    [{j}] SubSkill - SkillID:{subSkill.SkillID} SkillName:{subSkillName} RelatedSkillID:{subSkill.RelatedSkillID}\n";
                         j++;
                     }
                 }
@@ -164,12 +288,13 @@
                     foreach (var subCombinePack in skill.subSkillCombinePackList)
                     {
                         var subMainSkill = subCombinePack.GetMainHB427SkillPack();
-                        result += $"{indentStr}    [{j}] SubCombinePack - Tag:{subCombinePack.startTag?.Tag} MainSkill:{subMainSkill?.SkillID} PackCount:{subCombinePack.packList.Count}\n";
+                        string subMainSkillName = subMainSkill != null ? (SkillConfig.Get((int)subMainSkill.SkillID)?.SkillName ?? "Unknown") : "N/A";
+                        result += $"{indentStr}    [{j}] SubCombinePack - Tag:{subCombinePack.startTag?.Tag} MainSkill:{subMainSkill?.SkillID} SkillName:{subMainSkillName} PackCount:{subCombinePack.packList.Count}\n";
                         
                         // 閫掑綊鎵撳嵃瀛怌ombinePack鍐呴儴
                         if (subCombinePack.packList.Count > 0)
                         {
-                            result += PrintPackListDetail(subCombinePack.packList, indent + 3);
+                            result += PrintPackListDetail(subCombinePack.packList, indent + 3, guid);
                         }
                         j++;
                     }
@@ -178,14 +303,41 @@
             else if (pack is CustomHB426CombinePack combinePack)
             {
                 var mainSkill = combinePack.GetMainHB427SkillPack();
-                result += $"{indentStr}[{i}] CustomHB426CombinePack - Tag:{combinePack.startTag?.Tag} MainSkill:{mainSkill?.SkillID} PackCount:{combinePack.packList.Count}\n";
+                string heroName = "Unknown";
+                string skillName = "N/A";
+                if (mainSkill != null)
+                {
+                    skillName = SkillConfig.Get((int)mainSkill.SkillID)?.SkillName ?? "Unknown";
+                    if (battleField != null)
+                    {
+                        var battleObj = battleField.battleObjMgr.GetBattleObject((int)mainSkill.ObjID);
+                        if (battleObj != null && battleObj.teamHero != null)
+                        {
+                            heroName = battleObj.teamHero.name;
+                        }
+                    }
+                }
+                result += $"{indentStr}[{i}] CustomHB426CombinePack - Tag:{combinePack.startTag?.Tag} MainSkill:{mainSkill?.SkillID} SkillName:{skillName} HeroName:{heroName} PackCount:{combinePack.packList.Count}\n";
                 
                 // 閫掑綊鎵撳嵃鍐呴儴鍖�
                 if (combinePack.packList.Count > 0)
                 {
-                    result += PrintPackListDetail(combinePack.packList, indent + 1);
+                    result += PrintPackListDetail(combinePack.packList, indent + 1, guid);
                 }
             }
+            else if (pack is HB422_tagMCTurnFightObjDead deadPack)
+            {
+                string heroName = "Unknown";
+                if (battleField != null)
+                {
+                    var battleObj = battleField.battleObjMgr.GetBattleObject((int)deadPack.ObjID);
+                    if (battleObj != null && battleObj.teamHero != null)
+                    {
+                        heroName = battleObj.teamHero.name;
+                    }
+                }
+                result += $"{indentStr}[{i}] HB422_tagMCTurnFightObjDead - ObjID:{deadPack.ObjID} HeroName:{heroName} UID:{deadPack.packUID}\n";
+            }
             else
             {
                 result += $"{indentStr}[{i}] {pack.GetType().Name} UID:{pack.packUID}\n";
diff --git a/Main/Core/NetworkPackage/ServerPack/HB4_FightDefine/HB430_tagSCTurnFightReport.cs b/Main/Core/NetworkPackage/ServerPack/HB4_FightDefine/HB430_tagSCTurnFightReport.cs
index 71ec0e4..14a659f 100644
--- a/Main/Core/NetworkPackage/ServerPack/HB4_FightDefine/HB430_tagSCTurnFightReport.cs
+++ b/Main/Core/NetworkPackage/ServerPack/HB4_FightDefine/HB430_tagSCTurnFightReport.cs
@@ -5,7 +5,7 @@
 
 // B4 30 鏌ョ湅鎴樻姤缁撴灉 #tagSCTurnFightReportRet
 
-public class HB430_tagSCTurnFightReport : GameNetPackBasic {
+public partial class HB430_tagSCTurnFightReport : GameNetPackBasic {
     public string GUID;    //璇ユ垬鎶uid
     public uint Len;
     public string Report;    //瀹屾暣鎴樻姤
@@ -20,7 +20,7 @@
     public override void ReadFromBytes(byte[] vBytes)
     {
 #if UNITY_EDITOR
-        if (Launch.Instance.isOpenBattleDebug)
+        if (Launch.Instance.isOpenBattleDebug && !isRecord)
         {
             try
             {

--
Gitblit v1.8.0