From 6c0bde061116f84fa018b10173128a71363cb0ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=93=E4=B8=B6=E6=A2=A6=E4=B8=B6=E4=BB=81?= <74444214+Daydreamer114@users.noreply.github.com> Date: Tue, 10 Feb 2026 19:20:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=9C=AA=E5=BC=80=E6=94=BE=E5=85=B3?= =?UTF-8?q?=E5=8D=A1=E4=B8=8D=E9=87=8D=E7=BD=AE=20(#15647)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: 未开放关卡不重置 * fix: 默认值设为不重置 --- .../Converter/FightTaskStageResetModeConverter.cs | 2 +- src/MaaWpfGui/Configuration/Single/MaaTask/FightTask.cs | 2 +- src/MaaWpfGui/Constants/Enums/FightStageResetMode.cs | 5 +++++ src/MaaWpfGui/Helper/ConfigConverter.cs | 2 +- src/MaaWpfGui/Res/Localizations/en-us.xaml | 1 + src/MaaWpfGui/Res/Localizations/ja-jp.xaml | 1 + src/MaaWpfGui/Res/Localizations/ko-kr.xaml | 1 + src/MaaWpfGui/Res/Localizations/zh-cn.xaml | 1 + src/MaaWpfGui/Res/Localizations/zh-tw.xaml | 1 + .../TaskQueue/FightSettingsUserControlModel.cs | 8 +++++++- 10 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/MaaWpfGui/Configuration/Converter/FightTaskStageResetModeConverter.cs b/src/MaaWpfGui/Configuration/Converter/FightTaskStageResetModeConverter.cs index 6b7c6858ac..a150b741fc 100644 --- a/src/MaaWpfGui/Configuration/Converter/FightTaskStageResetModeConverter.cs +++ b/src/MaaWpfGui/Configuration/Converter/FightTaskStageResetModeConverter.cs @@ -63,7 +63,7 @@ internal class FightTaskStageResetModeConverter : JsonConverter } else { - fightTask.StageResetMode = FightStageResetMode.Current; + fightTask.StageResetMode = FightStageResetMode.DoNotReset; } } } diff --git a/src/MaaWpfGui/Configuration/Single/MaaTask/FightTask.cs b/src/MaaWpfGui/Configuration/Single/MaaTask/FightTask.cs index 4470250ec5..f6401cba96 100644 --- a/src/MaaWpfGui/Configuration/Single/MaaTask/FightTask.cs +++ b/src/MaaWpfGui/Configuration/Single/MaaTask/FightTask.cs @@ -128,7 +128,7 @@ public class FightTask : BaseTask, IJsonOnDeserialized /// public bool HideSeries { get; set; } - public FightStageResetMode StageResetMode { get; set; } = FightStageResetMode.Current; + public FightStageResetMode StageResetMode { get; set; } = FightStageResetMode.DoNotReset; /// /// Gets or sets a value indicating whether 是否启用周计划 diff --git a/src/MaaWpfGui/Constants/Enums/FightStageResetMode.cs b/src/MaaWpfGui/Constants/Enums/FightStageResetMode.cs index 4484c4588f..21ea47e48d 100644 --- a/src/MaaWpfGui/Constants/Enums/FightStageResetMode.cs +++ b/src/MaaWpfGui/Constants/Enums/FightStageResetMode.cs @@ -24,4 +24,9 @@ public enum FightStageResetMode /// 无效关卡 /// Invalid, + + /// + /// 不重置 + /// + DoNotReset, } diff --git a/src/MaaWpfGui/Helper/ConfigConverter.cs b/src/MaaWpfGui/Helper/ConfigConverter.cs index 76a8da8c97..c12a54f7d0 100644 --- a/src/MaaWpfGui/Helper/ConfigConverter.cs +++ b/src/MaaWpfGui/Helper/ConfigConverter.cs @@ -212,7 +212,7 @@ public class ConfigConverter ConfigurationHelper.DeleteValue(ConfigurationKeys.HideUnavailableStage); ConfigurationHelper.DeleteValue(ConfigurationKeys.CustomStageCode); ConfigurationHelper.DeleteValue(ConfigurationKeys.UseAlternateStage); - fightTask.StageResetMode = fightTask.UseOptionalStage ? FightStageResetMode.Invalid : FightStageResetMode.Current; + fightTask.StageResetMode = fightTask.UseOptionalStage ? FightStageResetMode.Invalid : FightStageResetMode.DoNotReset; if (fightTask.Series > 6) { diff --git a/src/MaaWpfGui/Res/Localizations/en-us.xaml b/src/MaaWpfGui/Res/Localizations/en-us.xaml index e0eb8dbe6f..cda8701ecf 100644 --- a/src/MaaWpfGui/Res/Localizations/en-us.xaml +++ b/src/MaaWpfGui/Res/Localizations/en-us.xaml @@ -749,6 +749,7 @@ Do not adjust the proxy multiplier setting in the game Cur/Last Invalid + Do Not Reset The event is not open Unsupported stages Old Version, Update required diff --git a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml index 5261e8635d..169146b8f6 100644 --- a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml +++ b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml @@ -750,6 +750,7 @@ C:\\leidian\\LDPlayer9 現在/前回 無効なレベル + リセットしない ステージが未公開か既に終了している 未サポートステージ バージョンの更新が必要 diff --git a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml index 518ac79e38..cd210663d7 100644 --- a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml +++ b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml @@ -751,6 +751,7 @@ C:\\leidian\\LDPlayer9 최근 작전--> 현재/최근 잘못된 스테이지 + 리셋 안 함 미개방 스테이지 미지원 스테이지 낮은 버전 diff --git a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml index 8ecbc3cfbe..4ff948bc9c 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml @@ -750,6 +750,7 @@ C:\\leidian\\LDPlayer9。\n 当前/上次 无效关卡 + 不重置 活动未开放 不支持的关卡 版本过低 diff --git a/src/MaaWpfGui/Res/Localizations/zh-tw.xaml b/src/MaaWpfGui/Res/Localizations/zh-tw.xaml index 67c86f0290..cec2832c11 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-tw.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-tw.xaml @@ -750,6 +750,7 @@ C:\\leidian\\LDPlayer9\n 目前/上次 無效關卡 + 不重置 活動未開放 不支援的關卡 版本過低 diff --git a/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/FightSettingsUserControlModel.cs b/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/FightSettingsUserControlModel.cs index a80f9b2519..58d160ca7b 100644 --- a/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/FightSettingsUserControlModel.cs +++ b/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/FightSettingsUserControlModel.cs @@ -556,7 +556,7 @@ public class FightSettingsUserControlModel : TaskSettingsViewModel if (value) { UseAlternateStage = false; - StageResetMode = FightStageResetMode.Current; + StageResetMode = FightStageResetMode.DoNotReset; } if (update) { @@ -570,6 +570,7 @@ public class FightSettingsUserControlModel : TaskSettingsViewModel [ new() { Display = LocalizationHelper.GetString("DefaultStage"), Value = FightStageResetMode.Current }, new() { Display = LocalizationHelper.GetString("InvalidStage"), Value = FightStageResetMode.Invalid }, + new() { Display = LocalizationHelper.GetString("DoNotResetStage"), Value = FightStageResetMode.DoNotReset }, ]; public FightStageResetMode StageResetMode @@ -797,6 +798,11 @@ public class FightSettingsUserControlModel : TaskSettingsViewModel var stage = task.StagePlan[i]; if (stage != InvalidStage.Value && !stageList.Any(p => p.Value == stage)) { + if (task.StageResetMode == FightStageResetMode.DoNotReset) + { + // 不重置,跳过 + continue; + } task.StagePlan[i] = task.StageResetMode switch { FightStageResetMode.Current => string.Empty, FightStageResetMode.Invalid => InvalidStage.Value,