From 4ecc4bcabd96e444bd316efcbbf47717dad243b8 Mon Sep 17 00:00:00 2001 From: status102 Date: Thu, 9 Nov 2023 22:09:49 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E8=BF=81=E7=A7=BB=E8=82=89=E9=B8=BD?= =?UTF-8?q?=E4=B8=8D=E5=86=8D=E8=B4=AD=E7=89=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaCore/Status.h | 1 - src/MaaCore/Task/Roguelike/RoguelikeConfig.cpp | 1 + src/MaaCore/Task/Roguelike/RoguelikeConfig.h | 3 +++ src/MaaCore/Task/Roguelike/RoguelikeShoppingTaskPlugin.cpp | 4 ++-- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/MaaCore/Status.h b/src/MaaCore/Status.h index da9d7564f7..9b003aad2c 100644 --- a/src/MaaCore/Status.h +++ b/src/MaaCore/Status.h @@ -47,7 +47,6 @@ namespace asst static inline const std::string RoguelikeStartWithEliteTwo = "RoguelikeStartWithEliteTwo"; static inline const std::string RoguelikeUseSupport = "RoguelikeUseSupport"; static inline const std::string RoguelikeUseNonfriendSupport = "RoguelikeUseNonfriendSupport"; - static inline const std::string RoguelikeTraderNoLongerBuy = "RoguelikeNoLongerBuy"; static inline const std::string RoguelikeTeamFullWithoutRookie = "RoguelikeTeamFullWithoutRookie"; static inline const std::string RoguelikeDifficulty = "RoguelikeDifficulty"; static inline const std::string RoguelikeFoldartalOverview = "RoguelikeFoldartalOverview"; diff --git a/src/MaaCore/Task/Roguelike/RoguelikeConfig.cpp b/src/MaaCore/Task/Roguelike/RoguelikeConfig.cpp index 49801b9bd6..1f564dcffb 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeConfig.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeConfig.cpp @@ -4,4 +4,5 @@ void asst::RoguelikeConfig::clear() { m_recruitment_count = 0; m_recruitment_starts_complete = false; m_recruitment_team_complete = false; + m_trader_no_longer_buy = false; } diff --git a/src/MaaCore/Task/Roguelike/RoguelikeConfig.h b/src/MaaCore/Task/Roguelike/RoguelikeConfig.h index 1e035d9584..4318890452 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeConfig.h +++ b/src/MaaCore/Task/Roguelike/RoguelikeConfig.h @@ -33,6 +33,8 @@ namespace asst bool get_recruitment_starts_complete() { return m_recruitment_starts_complete; } void set_recruitment_team_complete(bool complete) { m_recruitment_team_complete = complete; } bool get_recruitment_team_complete() { return m_recruitment_team_complete; } + void set_trader_no_longer_buy(bool no_longer_buy) { m_trader_no_longer_buy = no_longer_buy; } + bool get_trader_no_longer_buy() { return m_trader_no_longer_buy; } protected: // 肉鸽主题 @@ -44,5 +46,6 @@ namespace asst bool m_recruitment_starts_complete = false; // 阵容是否完备 bool m_recruitment_team_complete = false; + bool m_trader_no_longer_buy = false; }; } diff --git a/src/MaaCore/Task/Roguelike/RoguelikeShoppingTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeShoppingTaskPlugin.cpp index c6e1351566..004defa1b7 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeShoppingTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeShoppingTaskPlugin.cpp @@ -46,7 +46,7 @@ bool asst::RoguelikeShoppingTaskPlugin::_run() return false; } - bool no_longer_buy = status()->get_number(Status::RoguelikeTraderNoLongerBuy).value_or(0) ? true : false; + bool no_longer_buy = m_config->get_trader_no_longer_buy(); std::string str_chars_info = status()->get_str(Status::RoguelikeCharOverview).value_or(json::value().to_string()); json::value json_chars_info = json::parse(str_chars_info).value_or(json::value()); @@ -184,7 +184,7 @@ bool asst::RoguelikeShoppingTaskPlugin::_run() } } if (goods.no_longer_buy) { - status()->set_number(Status::RoguelikeTraderNoLongerBuy, 1); + m_config->set_trader_no_longer_buy(true); } break; }