From 597b8fd8183a92d2bf765b6cf86cd376d62682e0 Mon Sep 17 00:00:00 2001 From: status102 <102887808+status102@users.noreply.github.com> Date: Fri, 6 Jun 2025 13:13:45 +0800 Subject: [PATCH] revert 8fb4b9951f5dac1005ccd870f3cc3bce95b51c81 --- src/MaaCore/Common/AsstBattleDef.h | 3 +-- src/MaaCore/Config/Miscellaneous/CopilotConfig.cpp | 4 ++-- src/MaaCore/Task/Miscellaneous/BattleFormationTask.cpp | 3 +-- src/MaaCore/Task/Miscellaneous/BattleProcessTask.cpp | 9 +-------- 4 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/MaaCore/Common/AsstBattleDef.h b/src/MaaCore/Common/AsstBattleDef.h index 9cf878ffcf..be1f4fae7b 100644 --- a/src/MaaCore/Common/AsstBattleDef.h +++ b/src/MaaCore/Common/AsstBattleDef.h @@ -182,8 +182,7 @@ using RoleCounts = std::unordered_map; namespace copilot { -using OperUsageGroup = std::pair>; -using OperUsageGroups = std::vector; +using OperUsageGroups = std::unordered_map>; enum class ActionType { diff --git a/src/MaaCore/Config/Miscellaneous/CopilotConfig.cpp b/src/MaaCore/Config/Miscellaneous/CopilotConfig.cpp index 980acb0617..82c969d977 100644 --- a/src/MaaCore/Config/Miscellaneous/CopilotConfig.cpp +++ b/src/MaaCore/Config/Miscellaneous/CopilotConfig.cpp @@ -92,7 +92,7 @@ asst::battle::copilot::OperUsageGroups asst::CopilotConfig::parse_groups(const j oper.skill_times = oper_info.get("skill_times", 1); // 使用技能的次数,默认为 1,兼容曾经的作业 oper_vec.emplace_back(std::move(oper)); } - groups.emplace_back(OperUsageGroup { std::move(group_name), std::move(oper_vec) }); + groups.emplace(std::move(group_name), std::move(oper_vec)); } } @@ -106,7 +106,7 @@ asst::battle::copilot::OperUsageGroups asst::CopilotConfig::parse_groups(const j // 单个干员的,干员名直接作为组名 std::string group_name = oper.name; - groups.emplace_back(OperUsageGroup { std::move(group_name), std::vector { std::move(oper) } }); + groups.emplace(std::move(group_name), std::vector { std::move(oper) }); } } diff --git a/src/MaaCore/Task/Miscellaneous/BattleFormationTask.cpp b/src/MaaCore/Task/Miscellaneous/BattleFormationTask.cpp index 26512f5593..64abd18ce0 100644 --- a/src/MaaCore/Task/Miscellaneous/BattleFormationTask.cpp +++ b/src/MaaCore/Task/Miscellaneous/BattleFormationTask.cpp @@ -2,7 +2,6 @@ #include "Utils/Ranges.hpp" -#include "Common/AsstBattleDef.h" #include "Config/GeneralConfig.h" #include "Config/Miscellaneous/BattleDataConfig.h" #include "Config/Miscellaneous/CopilotConfig.h" @@ -537,7 +536,7 @@ bool asst::BattleFormationTask::parse_formation() groups = &SSSCopilot.get_data().groups; } - for (const auto& [name, opers_vec] : (*groups)) { + for (const auto& [name, opers_vec] : *groups) { if (opers_vec.empty()) { continue; } diff --git a/src/MaaCore/Task/Miscellaneous/BattleProcessTask.cpp b/src/MaaCore/Task/Miscellaneous/BattleProcessTask.cpp index 130359ae56..fdf901a4b0 100644 --- a/src/MaaCore/Task/Miscellaneous/BattleProcessTask.cpp +++ b/src/MaaCore/Task/Miscellaneous/BattleProcessTask.cpp @@ -154,14 +154,7 @@ bool asst::BattleProcessTask::to_group() } for (const auto& [group_name, oper_name] : m_oper_in_group) { - const auto& group_it = ranges::find_if(get_combat_data().groups, [&](const OperUsageGroup& pair) { - return pair.first == group_name; - }); - if (group_it == get_combat_data().groups.end()) { - Log.warn(__FUNCTION__, "Group not found in combat data: ", group_name); - continue; - } - const auto& this_group = group_it->second; + auto& this_group = get_combat_data().groups[group_name]; // there is a build error on macOS // https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/3779762713/jobs/6425284487 const std::string& oper_name_for_lambda = oper_name;