From bdb8f777b6bb5da3bc8d8990aa74d8bbe95e4a07 Mon Sep 17 00:00:00 2001 From: youqii Date: Mon, 2 Oct 2023 12:15:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9C=A8GUI=E4=B8=AD=E5=8A=A0=E5=85=A5?= =?UTF-8?q?=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Constants/ConfigurationKeys.cs | 1 + src/MaaWpfGui/Main/AsstProxy.cs | 4 +++- src/MaaWpfGui/Res/Localizations/zh-cn.xaml | 1 + src/MaaWpfGui/ViewModels/UI/SettingsViewModel.cs | 15 +++++++++++++++ src/MaaWpfGui/ViewModels/UI/TaskQueueViewModel.cs | 2 +- .../AutoRecruitSettingsUserControl.xaml | 4 ++++ 6 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/MaaWpfGui/Constants/ConfigurationKeys.cs b/src/MaaWpfGui/Constants/ConfigurationKeys.cs index a0d3f386d1..08036814c7 100644 --- a/src/MaaWpfGui/Constants/ConfigurationKeys.cs +++ b/src/MaaWpfGui/Constants/ConfigurationKeys.cs @@ -113,6 +113,7 @@ namespace MaaWpfGui.Constants public const string RecruitMaxTimes = "AutoRecruit.MaxTimes"; public const string RefreshLevel3 = "AutoRecruit.RefreshLevel3"; + public const string ForceRefresh = "AutoRecruit.ForceRefresh"; public const string IsLevel3UseShortTime = "AutoRecruit.IsLevel3UseShortTime"; public const string IsLevel3UseShortTime2 = "AutoRecruit.IsLevel3UseShortTime2"; public const string NotChooseLevel1 = "AutoRecruit.NotChooseLevel1"; diff --git a/src/MaaWpfGui/Main/AsstProxy.cs b/src/MaaWpfGui/Main/AsstProxy.cs index 200148bb11..42bf2dde73 100644 --- a/src/MaaWpfGui/Main/AsstProxy.cs +++ b/src/MaaWpfGui/Main/AsstProxy.cs @@ -1627,17 +1627,19 @@ namespace MaaWpfGui.Main /// 会去点击标签的 Tag 等级。 /// 会去点击确认的 Tag 等级。若仅公招计算,可设置为空数组。 /// 是否刷新三星 Tags。 + /// 无招募许可时是否继续尝试刷新 Tags。 /// 是否使用加急许可。 /// 是否在识别到小车词条时跳过。 /// 三星Tag是否使用短时间(7:40) /// 三星Tag是否使用短时间(1:00) /// 是否成功。 - public bool AsstAppendRecruit(int maxTimes, int[] selectLevel, int[] confirmLevel, bool needRefresh, bool useExpedited, + public bool AsstAppendRecruit(int maxTimes, int[] selectLevel, int[] confirmLevel, bool needRefresh, bool needForceRefresh, bool useExpedited, bool skipRobot, bool isLevel3UseShortTime, bool isLevel3UseShortTime2 = false) { var taskParams = new JObject { ["refresh"] = needRefresh, + ["force_refresh"] = needForceRefresh, ["select"] = new JArray(selectLevel), ["confirm"] = new JArray(confirmLevel), ["times"] = maxTimes, diff --git a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml index 8108e0e4bb..256c8f8dfb 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml @@ -634,6 +634,7 @@ 自动刷新 3 星 Tags + 无招募许可时继续尝试刷新 Tags 自动使用加急许可* 3 星设置 7:40 而非 9:00 3 星设置 1:00 而非 9:00 diff --git a/src/MaaWpfGui/ViewModels/UI/SettingsViewModel.cs b/src/MaaWpfGui/ViewModels/UI/SettingsViewModel.cs index 47cacb5bae..bb7c1e5391 100644 --- a/src/MaaWpfGui/ViewModels/UI/SettingsViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/SettingsViewModel.cs @@ -2189,6 +2189,21 @@ namespace MaaWpfGui.ViewModels.UI } } + private bool _forceRefresh = Convert.ToBoolean(ConfigurationHelper.GetValue(ConfigurationKeys.ForceRefresh, bool.TrueString)); + + /// + /// Gets or Sets a value indicating whether to refresh when recruit permit ran out. + /// + public bool ForceRefresh + { + get => _forceRefresh; + set + { + SetAndNotify(ref _forceRefresh, value); + ConfigurationHelper.SetValue(ConfigurationKeys.ForceRefresh, value.ToString()); + } + } + private bool _useExpedited = false; /// diff --git a/src/MaaWpfGui/ViewModels/UI/TaskQueueViewModel.cs b/src/MaaWpfGui/ViewModels/UI/TaskQueueViewModel.cs index 43fd4b1cbd..005238bf55 100644 --- a/src/MaaWpfGui/ViewModels/UI/TaskQueueViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/TaskQueueViewModel.cs @@ -1271,7 +1271,7 @@ namespace MaaWpfGui.ViewModels.UI } return Instances.AsstProxy.AsstAppendRecruit( - maxTimes, reqList.ToArray(), cfmList.ToArray(), Instances.SettingsViewModel.RefreshLevel3, Instances.SettingsViewModel.UseExpedited, + maxTimes, reqList.ToArray(), cfmList.ToArray(), Instances.SettingsViewModel.RefreshLevel3, Instances.SettingsViewModel.ForceRefresh, Instances.SettingsViewModel.UseExpedited, Instances.SettingsViewModel.NotChooseLevel1, Instances.SettingsViewModel.IsLevel3UseShortTime, Instances.SettingsViewModel.IsLevel3UseShortTime2); } diff --git a/src/MaaWpfGui/Views/UserControl/AutoRecruitSettingsUserControl.xaml b/src/MaaWpfGui/Views/UserControl/AutoRecruitSettingsUserControl.xaml index 5d2af6ffd4..b890c1cecd 100644 --- a/src/MaaWpfGui/Views/UserControl/AutoRecruitSettingsUserControl.xaml +++ b/src/MaaWpfGui/Views/UserControl/AutoRecruitSettingsUserControl.xaml @@ -36,6 +36,10 @@ Margin="0,10" Content="{DynamicResource AutoRefresh}" IsChecked="{Binding RefreshLevel3}" /> +