feat: 肉鸽插件添加设置参数功能,设置失败的插件会被自动disable (#9862)

* feat: 肉鸽插件添加设置参数功能,设置失败的插件会被自动移除

* feat: 肉鸽插件设置参数示例——坍缩范式插件

* refactor: 保留 virtual 关键字
This commit is contained in:
Weiyou Wang
2024-07-23 03:09:29 +10:00
committed by GitHub
parent 1d057ac63d
commit 5aaaae758f
4 changed files with 27 additions and 16 deletions

View File

@@ -224,9 +224,6 @@ bool asst::RoguelikeTask::set_params(const json::value& params)
// 是否检查坍缩范式非CLP_PDS模式下默认为False, CLP_PDS模式下默认为True
m_config_ptr->set_check_clp_pds(
params.get("check_collapsal_paradigms", mode == RoguelikeMode::CLP_PDS));
m_cp_ptr->set_double_check_clp_pds(
params.get("double_check_collapsal_paradigms", mode == RoguelikeMode::CLP_PDS));
}
const auto& ptr = m_custom_ptr;
@@ -240,5 +237,12 @@ bool asst::RoguelikeTask::set_params(const json::value& params)
RoguelikeCustomType::UseNonfriendSupport,
params.get("use_nonfriend_support", false) ? "1" : "0"); // 是否可以是非好友助战干员
// ———————— plugin configuration ————————————————————————————————
for (const TaskPluginPtr& plugin : m_roguelike_task_ptr->get_plugins()) {
if (RoguelikeTaskPluginPtr roguelike_plugin = std::dynamic_pointer_cast<AbstractRoguelikeTaskPlugin>(plugin)) {
roguelike_plugin->config(params);
}
}
return true;
}