From 231aae0185b33ca3c696fd13fcda59b1601ae9da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8B=E4=BA=91?= Date: Thu, 17 Jul 2025 15:10:03 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=83=85=E5=86=B5=E4=B8=8B=E4=B8=A2=E5=A4=B1=E7=AE=80=E6=98=93?= =?UTF-8?q?=E7=AD=96=E7=95=A5=20(#1870)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GameTask/AutoFight/Script/CombatCommand.cs | 4 ---- .../GameTask/AutoPathing/Handler/CombatScriptHandler.cs | 5 ++++- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/BetterGenshinImpact/GameTask/AutoFight/Script/CombatCommand.cs b/BetterGenshinImpact/GameTask/AutoFight/Script/CombatCommand.cs index 55e1acd8..e973f505 100644 --- a/BetterGenshinImpact/GameTask/AutoFight/Script/CombatCommand.cs +++ b/BetterGenshinImpact/GameTask/AutoFight/Script/CombatCommand.cs @@ -72,10 +72,6 @@ public class CombatCommand // 如果是当前角色,不进行角色切换 var avatarName = combatScenes.CurrentAvatar(); avatar = avatarName is not null ? combatScenes.SelectAvatar(avatarName) : combatScenes.SelectAvatar(1); - if (avatar == null) - { - return; - } } else { diff --git a/BetterGenshinImpact/GameTask/AutoPathing/Handler/CombatScriptHandler.cs b/BetterGenshinImpact/GameTask/AutoPathing/Handler/CombatScriptHandler.cs index 6d8620e3..d781b339 100644 --- a/BetterGenshinImpact/GameTask/AutoPathing/Handler/CombatScriptHandler.cs +++ b/BetterGenshinImpact/GameTask/AutoPathing/Handler/CombatScriptHandler.cs @@ -25,6 +25,9 @@ public class CombatScriptHandler : IActionHandler return; } + // 设置取消令牌到 CombatScenes 和 Avatar 对象 + combatScenes.BeforeTask(ct); + // 提前校验是否存在策略要求的角色 if (!combatScript.AvatarNames.Contains(CombatScriptParser.CurrentAvatarName)) @@ -37,12 +40,12 @@ public class CombatScriptHandler : IActionHandler } } - try { // 通用化战斗策略 foreach (var command in combatScript.CombatCommands) { + ct.ThrowIfCancellationRequested(); command.Execute(combatScenes); } }