From bc39c2d2ecc64df697d70078fdab53ffe755558a 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: Thu, 31 Oct 2024 21:41:36 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E8=82=89=E9=B8=BD=E9=80=89=E9=9A=BE?= =?UTF-8?q?=E5=BA=A6=E5=85=81=E8=AE=B8=E4=B8=8D=E9=80=89=E9=9A=BE=E5=BA=A6?= =?UTF-8?q?=20(#10979)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * perf: 肉鸽选难度允许不选难度 * fix: 在插件中对 gui 传入的 -1 值做特殊处理 --- .../RoguelikeDifficultySelectionTaskPlugin.cpp | 11 ++++++++++- src/MaaWpfGui/ViewModels/UI/SettingsViewModel.cs | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/MaaCore/Task/Roguelike/RoguelikeDifficultySelectionTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeDifficultySelectionTaskPlugin.cpp index ed6dacb5c4..d9a6e3748e 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeDifficultySelectionTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeDifficultySelectionTaskPlugin.cpp @@ -47,7 +47,16 @@ bool asst::RoguelikeDifficultySelectionTaskPlugin::_run() { LogTraceFunction; - const int difficulty = m_config->get_run_for_collectible() ? 0 : m_config->get_difficulty(); + int difficulty = m_config->get_difficulty(); + if (difficulty == -1) { + Log.info(__FUNCTION__, "| use current difficulty, skip select_difficulty"); + return true; + } + + if (m_config->get_run_for_collectible()) { + difficulty = 0; + } + Log.info(__FUNCTION__, "| current_difficulty:", m_current_difficulty, "next difficulty:", difficulty); // 仅在插件记录的当前难度与目标难度不一致时重新选择难度 diff --git a/src/MaaWpfGui/ViewModels/UI/SettingsViewModel.cs b/src/MaaWpfGui/ViewModels/UI/SettingsViewModel.cs index ba38542a0b..87091951a4 100644 --- a/src/MaaWpfGui/ViewModels/UI/SettingsViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/SettingsViewModel.cs @@ -1962,6 +1962,8 @@ namespace MaaWpfGui.ViewModels.UI var value = i.ToString(); RoguelikeDifficultyList.Add(new CombinedData { Display = value, Value = value }); } + + RoguelikeDifficultyList.Add(new CombinedData { Display = "Current", Value = (-1).ToString() }); } private void UpdateRoguelikeModeList()