From ee5db4fe02b2835591e8a7b8cb9c850cd18f42d7 Mon Sep 17 00:00:00 2001 From: status102 <102887808+status102@users.noreply.github.com> Date: Thu, 12 Feb 2026 19:30:33 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E8=87=AA=E5=8A=A8=E6=88=98=E6=96=97?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E7=BC=96=E9=98=9F=E6=9C=9F=E9=97=B4=E5=A6=82?= =?UTF-8?q?=E6=9C=89=E5=B9=B2=E5=91=98=E5=B1=9E=E6=80=A7=E8=A6=81=E6=B1=82?= =?UTF-8?q?=E8=A2=AB=E5=BF=BD=E7=95=A5,=20=E5=88=99=E7=A6=81=E7=94=A8?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=8C=96=E6=8A=95=E7=A5=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Main/AsstProxy.cs | 2 ++ src/MaaWpfGui/ViewModels/UI/CopilotViewModel.cs | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/MaaWpfGui/Main/AsstProxy.cs b/src/MaaWpfGui/Main/AsstProxy.cs index 88183bd6b2..882560c9e7 100644 --- a/src/MaaWpfGui/Main/AsstProxy.cs +++ b/src/MaaWpfGui/Main/AsstProxy.cs @@ -2042,6 +2042,7 @@ public class AsstProxy case "BattleFormationOperUnavailable": { + Instances.CopilotViewModel.HasRequirementIgnored = true; var oper_name = DataHelper.GetLocalizedCharacterName(subTaskDetails!["oper_name"]?.ToString()); var requirement_type = subTaskDetails["requirement_type"]?.ToString() switch { "level" => LocalizationHelper.GetString("BattleFormationOperUnavailable.Level"), @@ -2083,6 +2084,7 @@ public class AsstProxy case "CopilotListLoadTaskFileSuccess": Instances.CopilotViewModel.AddLog($"Parse {subTaskDetails!["file_name"]}[{subTaskDetails["stage_name"]}] Success"); + Instances.CopilotViewModel.HasRequirementIgnored = false; break; case "SSSStage": diff --git a/src/MaaWpfGui/ViewModels/UI/CopilotViewModel.cs b/src/MaaWpfGui/ViewModels/UI/CopilotViewModel.cs index 0ae18dd6bb..bdb5df7312 100644 --- a/src/MaaWpfGui/ViewModels/UI/CopilotViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/CopilotViewModel.cs @@ -365,6 +365,11 @@ public partial class CopilotViewModel : Screen /// public bool IgnoreRequirements { get => field; set => SetAndNotify(ref field, value); } + /// + /// Gets or sets a value indicating whether 真正有干员被忽略了要求 + /// + public bool HasRequirementIgnored { get; set; } = false; + public bool UseSanityPotion { get => field; set => SetAndNotify(ref field, value); } /// @@ -1699,7 +1704,7 @@ public partial class CopilotViewModel : Screen model.IsChecked = false; - if (model.CopilotId > 0 && _copilotIdList.Remove(model.CopilotId) && _copilotIdList.IndexOf(model.CopilotId) == -1 && !IgnoreRequirements) + if (model.CopilotId > 0 && _copilotIdList.Remove(model.CopilotId) && _copilotIdList.IndexOf(model.CopilotId) == -1 && !HasRequirementIgnored) { _ = RateCopilot(model.CopilotId); }