From 0556da8f5e7f7ff498ded7ad1430ef3f7abed30c Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 10 十二月 2025 14:13:03 +0800
Subject: [PATCH] 125 战斗 开启自动战斗导致的无限次请求主线的问题修复
---
Main/System/Battle/BattleField/BattleField.cs | 1 +
Main/System/Main/AutoFightModel.cs | 10 +++++++---
Main/System/Battle/BattleField/StoryBossBattleField.cs | 5 ++++-
Main/System/MainLevel/MainBossEnterWin.cs | 1 +
Main/System/Battle/BattleField/StoryBattleField.cs | 4 ++--
5 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/Main/System/Battle/BattleField/BattleField.cs b/Main/System/Battle/BattleField/BattleField.cs
index 1809715..4fa22d1 100644
--- a/Main/System/Battle/BattleField/BattleField.cs
+++ b/Main/System/Battle/BattleField/BattleField.cs
@@ -676,6 +676,7 @@
recordPlayer.HaveRest();
battleObjMgr.HaveRest(BattleCamp.Blue);
battleObjMgr.DestroyTeam(BattleCamp.Blue);
+ BattleManager.Instance.ClearStoryQueue();
SetBattleStartState();
// 娓呯悊姝讳骸澶勭悊璁板綍
diff --git a/Main/System/Battle/BattleField/StoryBattleField.cs b/Main/System/Battle/BattleField/StoryBattleField.cs
index af4f457..e24a60d 100644
--- a/Main/System/Battle/BattleField/StoryBattleField.cs
+++ b/Main/System/Battle/BattleField/StoryBattleField.cs
@@ -38,6 +38,7 @@
public override void Init(int MapID, int FuncLineID, JsonData _extendData,
List<TeamBase> _redTeamList, List<TeamBase> _blueTeamList, byte turnMax)
{
+
chapter = FuncLineID / 10000;
wave = MapID == 1 ? FuncLineID % 100 : 1;//绗嚑娉㈡��
level = (FuncLineID % 10000) / 100;
@@ -257,9 +258,8 @@
byte reqType;
- if (battleState == StoryBattleState.Break || AutoFightModel.Instance.restartMainStoryBattle)
+ if (battleState == StoryBattleState.Break)
{
- AutoFightModel.Instance.restartMainStoryBattle = false;
reqType = 2;
}
else if (battleState == StoryBattleState.Battle)
diff --git a/Main/System/Battle/BattleField/StoryBossBattleField.cs b/Main/System/Battle/BattleField/StoryBossBattleField.cs
index 9613953..24cf725 100644
--- a/Main/System/Battle/BattleField/StoryBossBattleField.cs
+++ b/Main/System/Battle/BattleField/StoryBossBattleField.cs
@@ -78,12 +78,15 @@
protected override void OnSettlement(JsonData turnFightStateData)
{
base.OnSettlement(turnFightStateData);
+
+ BattleManager.Instance.MainFightRequest(2);
+ BattleManager.Instance.MainFightRequest(4);
+ AutoFightModel.Instance.ApplyAutoFightToSettings();
}
public override void WhaleFall()
{
UIManager.Instance.CloseWindow<StoryBossBattleWin>();
- AutoFightModel.Instance.restartMainStoryBattle = true;
AutoFightModel.Instance.isPause = false;
diff --git a/Main/System/Main/AutoFightModel.cs b/Main/System/Main/AutoFightModel.cs
index 7a721d1..f21dd38 100644
--- a/Main/System/Main/AutoFightModel.cs
+++ b/Main/System/Main/AutoFightModel.cs
@@ -40,7 +40,6 @@
//鑷姩妯″紡, 鐪熸鐐瑰嚮鎴橀敜娑堣�楀紑鍚紝鍜屼紤鎭紙鎴栨棤鏉愭枡锛夊仠姝�
public bool isPause = false; //濡傛墦BOSS鐨勬儏鍐碉紝鏆傚仠鑷姩鎴樻枟 鍚庣画鍙互琛ュ厖姣廥绉掓娴嬩笅鏄惁鏈夊紓甯�
- public bool restartMainStoryBattle = false;
bool m_IsAutoAttack = false;
public bool isAutoAttack
{
@@ -142,14 +141,19 @@
if (storyBattleField != null && storyBattleField.GetBattleMode() != BattleMode.Stop)
{
//鎴樻枟涓敼鍙樻ā寮�
- isAutoAttack = isAutoAttackSet;
- storyBattleField.AutoSetBattleMode();
+ ApplyAutoFightToSettings();
}
QuickSetting.Instance.SendPackage();
ChangeAutoEvent?.Invoke();
}
+ public void ApplyAutoFightToSettings()
+ {
+ isAutoAttack = isAutoAttackSet;
+ BattleManager.Instance.storyBattleField?.AutoSetBattleMode();
+ }
+
//鑷姩澶勭悊瑁呭锛岄渶瑕佺瓑寰呯┛鎴磋繑鍥瀎alse锛屽叾浠栨儏鍐佃繑鍥瀟rue
public bool TryAutoFightDoEquip(ItemModel item)
diff --git a/Main/System/MainLevel/MainBossEnterWin.cs b/Main/System/MainLevel/MainBossEnterWin.cs
index c65170b..fabe473 100644
--- a/Main/System/MainLevel/MainBossEnterWin.cs
+++ b/Main/System/MainLevel/MainBossEnterWin.cs
@@ -146,6 +146,7 @@
BattleManager.Instance.SendTurnFight(2);
BattleManager.Instance.storyBattleField.CleanBattle();
AutoFightModel.Instance.isPause = true;
+ AutoFightModel.Instance.isAutoAttack = false;
}
CloseWindow();
}
--
Gitblit v1.8.0