feat: 新增自动战斗单步执行接口

This commit is contained in:
MistEO
2023-01-25 20:00:47 +08:00
parent 87a995ca69
commit ab308a51c7
9 changed files with 131 additions and 5 deletions

View File

@@ -0,0 +1,24 @@
#include "SingleStepTask.h"
#include "../SingleStep/SingleStepBattleProcessTask.h"
#include "Config/Miscellaneous/CopilotConfig.h"
asst::SingleStepTask::SingleStepTask(const AsstCallback& callback, Assistant* inst)
: InterfaceTask(callback, inst, TaskType)
{}
bool asst::SingleStepTask::set_params(const json::value& params)
{
std::string type = params.at("type").as_string();
std::string subtype = params.at("subtype").as_string();
const json::value& details = params.at("details");
if (type == "copilot" && subtype == "action") {
auto task = std::make_shared<SingleStepBattleProcessTask>(m_callback, m_inst, TaskType);
// 请参考自动战斗协议
task->set_actions(CopilotConfig::parse_actions(details));
m_subtasks.emplace_back(std::move(task));
}
return false;
}