From 6a8e476aa30340626025ee3a4f4cb10a76c831df Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期五, 05 九月 2025 18:16:51 +0800
Subject: [PATCH] 125 【战斗】战斗系统 不让主线打boss的时候报错
---
Main/System/Battle/BattleField/BattleField.cs | 8 +++++---
Main/System/Battle/RecordPlayer/RecordPlayer.cs | 6 ++++++
Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB430_tagSCTurnFightReport.cs | 2 +-
Main/System/Battle/BattleTweenMgr.cs | 1 +
Main/System/Battle/Skill/SkillBase.cs | 1 +
Main/System/Battle/BattleObject/BattleObjMgr.cs | 1 +
Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0407_tagNPCDisappear.cs | 2 +-
Main/System/Battle/BattleEffectMgr.cs | 22 ++++++----------------
8 files changed, 22 insertions(+), 21 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 c3097f1..102df63 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0407_tagNPCDisappear.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0407_tagNPCDisappear.cs
@@ -14,7 +14,7 @@
BattleField battleField = BattleManager.Instance.GetBattleField(vNetPack.packUID);
//04 07 NPC娑堝け#tagNPCDisappear 涓殑瀛楁NPCID瀹為檯涓婂悓姝ョ殑鏄疧bjID锛屽彧鏄懡鍚嶉棶棰�
// 鎻愬墠缁撴潫鎴樻枟 鍒犻櫎NPCID锛堬級瀹為檯涓婃槸瀵硅薄鐨凮bjID
- battleField.NPCDisappear(vNetData.NPCID);
+ // battleField.NPCDisappear(vNetData.NPCID);
battleField.DistributeNextPackage();
}
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 7203c25..e7d9795 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB430_tagSCTurnFightReport.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB430_tagSCTurnFightReport.cs
@@ -23,7 +23,7 @@
byte[] vPackBytes;
int vLeavingLeng = 0;
int vBodyLeng = 0;
- int vTotalLeng = vNetData.Report.Length;
+ int vTotalLeng = vNetData.reportBytes.Length;
while (vReadIndex < vTotalLeng)
{
diff --git a/Main/System/Battle/BattleEffectMgr.cs b/Main/System/Battle/BattleEffectMgr.cs
index 1bb3045..f1c076d 100644
--- a/Main/System/Battle/BattleEffectMgr.cs
+++ b/Main/System/Battle/BattleEffectMgr.cs
@@ -11,6 +11,7 @@
public void Init(BattleField _battleField)
{
+ Release();
battleField = _battleField;
}
@@ -112,6 +113,11 @@
public void HaveRest()
{
+ Release();
+ }
+
+ public void Release()
+ {
List<int> fKeys = effectDict.Keys.ToList();
for (int i = 0; i < fKeys.Count; i++)
@@ -127,22 +133,6 @@
else
{
effectPlayers.RemoveAt(0);
- }
- }
- }
-
- effectDict.Clear();
- }
-
- public void Release()
- {
- foreach (var effect in effectDict)
- {
- foreach (var effectPlayer in effect.Value)
- {
- if (effectPlayer != null)
- {
- GameObject.DestroyImmediate(effectPlayer.gameObject);
}
}
}
diff --git a/Main/System/Battle/BattleField/BattleField.cs b/Main/System/Battle/BattleField/BattleField.cs
index 78e5bd0..a745ff9 100644
--- a/Main/System/Battle/BattleField/BattleField.cs
+++ b/Main/System/Battle/BattleField/BattleField.cs
@@ -86,9 +86,7 @@
battleTweenMgr = new BattleTweenMgr();
recordPlayer = new RecordPlayer();
- battleEffectMgr.Init(this);
- battleTweenMgr.Init(this);
- recordPlayer.Init(this);
+
}
public virtual void Init(int _MapID, int _FuncLineID, JsonData _extendData,
@@ -103,6 +101,10 @@
redTeamIndex = 0;
blueTeamIndex = 0;
+ battleEffectMgr.Init(this);
+ battleTweenMgr.Init(this);
+ recordPlayer.Init(this);
+
if (blueTeamList == null)
{
battleObjMgr.Init(this, redTeamList[redTeamIndex], null);
diff --git a/Main/System/Battle/BattleObject/BattleObjMgr.cs b/Main/System/Battle/BattleObject/BattleObjMgr.cs
index d9136c2..f19f5a6 100644
--- a/Main/System/Battle/BattleObject/BattleObjMgr.cs
+++ b/Main/System/Battle/BattleObject/BattleObjMgr.cs
@@ -18,6 +18,7 @@
public void Init(BattleField _battleField, TeamBase _redTeam, TeamBase _blueTeam)
{
+ Release();
battleField = _battleField;
ReloadTeam(_redTeam, BattleCamp.Red);
ReloadTeam(_blueTeam, BattleCamp.Blue, false);
diff --git a/Main/System/Battle/BattleTweenMgr.cs b/Main/System/Battle/BattleTweenMgr.cs
index 00cf12f..caebc16 100644
--- a/Main/System/Battle/BattleTweenMgr.cs
+++ b/Main/System/Battle/BattleTweenMgr.cs
@@ -11,6 +11,7 @@
public void Init(BattleField _battleField)
{
+ Release();
battleField = _battleField;
}
diff --git a/Main/System/Battle/RecordPlayer/RecordPlayer.cs b/Main/System/Battle/RecordPlayer/RecordPlayer.cs
index 18fa70a..8f2ae83 100644
--- a/Main/System/Battle/RecordPlayer/RecordPlayer.cs
+++ b/Main/System/Battle/RecordPlayer/RecordPlayer.cs
@@ -17,6 +17,7 @@
public void Init(BattleField _battleField)
{
+ Release();
battleField = _battleField;
}
@@ -174,7 +175,12 @@
public void Release()
{
+ if (null != currentRecordAction)
+ {
+ currentRecordAction.ForceFinish();
+ }
currentRecordAction = null;
recordActionQueue.Clear();
+ immediatelyActionList.Clear();
}
}
\ No newline at end of file
diff --git a/Main/System/Battle/Skill/SkillBase.cs b/Main/System/Battle/Skill/SkillBase.cs
index 4e242ae..f68863f 100644
--- a/Main/System/Battle/Skill/SkillBase.cs
+++ b/Main/System/Battle/Skill/SkillBase.cs
@@ -587,6 +587,7 @@
{
skillEffect?.ForceFinished();
isFinished = true;
+ moveFinished = true;
while (packList.Count > 0)
{
--
Gitblit v1.8.0