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