From 5706d122c8acc89549cac0e63c5bf3240514e0bb Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Fri, 20 Oct 2023 19:05:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A4=9A=E6=96=87=E4=BB=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E4=B8=AD=E7=9B=B4=E6=8E=A5=E5=A3=B0=E6=98=8E=20baseTa?= =?UTF-8?q?sk=20=E7=9A=84=E4=BB=BB=E5=8A=A1=E4=B8=8D=E7=BB=A7=E6=89=BF?= =?UTF-8?q?=E5=90=8C=E5=90=8D=E4=BB=BB=E5=8A=A1=E5=8F=82=E6=95=B0=E8=80=8C?= =?UTF-8?q?=E6=98=AF=E7=9B=B4=E6=8E=A5=E8=A6=86=E7=9B=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaCore/Config/TaskData.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/MaaCore/Config/TaskData.cpp b/src/MaaCore/Config/TaskData.cpp index 975147ac2c..84e85815d5 100644 --- a/src/MaaCore/Config/TaskData.cpp +++ b/src/MaaCore/Config/TaskData.cpp @@ -93,10 +93,18 @@ bool asst::TaskData::lazy_parse(const json::value& json) for (const auto& [name, task_json] : json.as_object()) { std::string_view name_view = task_name_view(name); - if (task_json.get("baseTask", "") == "#none") { - // 不继承同名任务参数 + if (task_json.contains("baseTask")) { + // 直接声明 baseTask 的任务不继承同名任务参数而是直接覆盖 m_json_all_tasks_info[name_view] = task_json.as_object(); - m_json_all_tasks_info[name_view].erase("baseTask"); + std::string base_task = task_json.get("baseTask", ""); +#ifdef ASST_DEBUG + if (base_task.empty()) { + Log.error("Task", name, "has empty baseTask"); + } +#endif + if (base_task == "#none") { + m_json_all_tasks_info[name_view].erase("baseTask"); + } continue; } if (m_json_all_tasks_info.find(name_view) == m_json_all_tasks_info.cend()) {