From 9c15e82ff8f142d92c00cfc796da08473d949b73 Mon Sep 17 00:00:00 2001 From: status102 <102887808+status102@users.noreply.github.com> Date: Fri, 22 May 2026 16:05:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=88=A0=E5=A4=9A=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FightSettingsUserControlModel.cs | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/FightSettingsUserControlModel.cs b/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/FightSettingsUserControlModel.cs index ae7be148a1..9674758892 100644 --- a/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/FightSettingsUserControlModel.cs +++ b/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/FightSettingsUserControlModel.cs @@ -122,6 +122,31 @@ public class FightSettingsUserControlModel : TaskSettingsViewModel, FightSetting StagePlan.Remove(plan); } + /// + /// Gets or sets a value indicating whether to use custom stage code. + /// + public bool CustomStageCode + { + get => GetTaskConfig().IsStageManually; + set { + bool ret = SetTaskConfig(t => t.IsStageManually == value, t => t.IsStageManually = value); + if (ret && !value) + { + var stagePlan = GetTaskConfig().StagePlan; + for (int i = 0; i < stagePlan.Count; i++) + { + var stage = stagePlan[i]; + if (!Instances.StageManager.GetStageList().Any(p => p.Value == stage)) + { + stagePlan[i] = string.Empty; + } + } + SetTaskConfig(t => t.StagePlan.SequenceEqual(stagePlan), t => t.StagePlan = stagePlan); + RefreshCurrentStagePlan(); + } + } + } + /// /// Reset unsaved battle parameters. ///