From 5af201105514549b1eb0aa89229a10752b7bb4e8 Mon Sep 17 00:00:00 2001 From: Hydrogina <46482682+Hydrogina@users.noreply.github.com> Date: Thu, 24 Nov 2022 16:43:01 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=AE=E6=AD=A3resource=5Fdir?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MeoAssistant/Task/CreditFightTask.cpp | 67 ++++++++++++----------- src/MeoAssistant/Task/CreditFightTask.h | 6 +- 2 files changed, 36 insertions(+), 37 deletions(-) diff --git a/src/MeoAssistant/Task/CreditFightTask.cpp b/src/MeoAssistant/Task/CreditFightTask.cpp index b394c1dee9..e2b47ab86e 100644 --- a/src/MeoAssistant/Task/CreditFightTask.cpp +++ b/src/MeoAssistant/Task/CreditFightTask.cpp @@ -4,47 +4,50 @@ #include "TaskData.h" +#include "CopilotTask.h" #include "Plugin/GameCrashRestartTaskPlugin.h" #include "Sub/ProcessTask.h" -#include "CopilotTask.h" #include "Sub/StageNavigationTask.h" #include "Utils/AsstRanges.hpp" - +#include "Utils/WorkingDir.hpp" asst::CreditFightTask::CreditFightTask(AsstCallback callback, void* callback_arg) - : PackageTask(std::move(callback), callback_arg, TaskType), - m_start_up_task_ptr(std::make_shared(m_callback, m_callback_arg, TaskType)), - m_stage_navigation_task_ptr(std::make_shared(m_callback, m_callback_arg, TaskType)), - m_fight_task_ptr(std::make_shared(m_callback, m_callback_arg, TaskType)), - m_copilot_task_ptr(std::make_shared(m_callback, m_callback_arg)) + : PackageTask(std::move(callback), callback_arg, TaskType) { - - m_stage_navigation_task_ptr->set_enable(false).set_ignore_error(false); - - // 战斗结束后 - m_fight_task_ptr->set_tasks({ "EndOfActionAndStop" }).set_ignore_error(false); - - m_game_restart_plugin_ptr = m_fight_task_ptr->register_plugin(); - m_game_restart_plugin_ptr->set_retry_times(0); - - m_subtasks.emplace_back(m_start_up_task_ptr); - m_subtasks.emplace_back(m_stage_navigation_task_ptr); - m_subtasks.emplace_back(m_copilot_task_ptr); - m_subtasks.emplace_back(m_fight_task_ptr); + std::shared_ptr start_up_task_ptr = + std::make_shared(m_callback, m_callback_arg, m_task_chain); + std::shared_ptr stage_navigation_task_ptr = + std::make_shared(m_callback, m_callback_arg, m_task_chain); + std::shared_ptr fight_task_ptr = + std::make_shared(m_callback, m_callback_arg, m_task_chain); + std::shared_ptr copilot_task_ptr = std::make_shared(m_callback, m_callback_arg); + std::shared_ptr game_restart_plugin_ptr = nullptr; + stage_navigation_task_ptr->set_enable(false).set_ignore_error(false); const std::string stage = "OF-1"; - - if (!m_running) { - m_start_up_task_ptr->set_tasks({ "StageBegin" }).set_times_limit("GoLastBattle", 0); - m_stage_navigation_task_ptr->set_stage_name(stage); - m_stage_navigation_task_ptr->set_enable(true); - } + //开始 + start_up_task_ptr->set_tasks({ "StageBegin" }).set_times_limit("GoLastBattle", 0); + //关卡导航 + stage_navigation_task_ptr->set_stage_name(stage); + stage_navigation_task_ptr->set_enable(true); + //自动战斗 json::value copilotparams; - copilotparams["stage_name"] = "activities/act3d0/level_act3d0_01";// OF-1 - copilotparams["filename"] = "resource/credit_fight_copilot.json"; - copilotparams["formation"] = true; - m_copilot_task_ptr->set_params(copilotparams); - -} + copilotparams["stage_name"] = "activities/act3d0/level_act3d0_01"; // OF-1 + std::string copilot_path = utils::path_to_utf8_string(ResDir.get()) + "\\resource\\credit_fight_copilot.json"; + copilotparams["filename"] = copilot_path; + copilotparams["formation"] = true; + copilot_task_ptr->set_params(copilotparams); + + // 战斗结束后 + fight_task_ptr->set_tasks({ "EndOfActionAndStop" }).set_ignore_error(false); + + game_restart_plugin_ptr = fight_task_ptr->register_plugin(); + game_restart_plugin_ptr->set_retry_times(0); + + m_subtasks.emplace_back(start_up_task_ptr); + m_subtasks.emplace_back(stage_navigation_task_ptr); + m_subtasks.emplace_back(copilot_task_ptr); + m_subtasks.emplace_back(fight_task_ptr); +} diff --git a/src/MeoAssistant/Task/CreditFightTask.h b/src/MeoAssistant/Task/CreditFightTask.h index 11247987e2..0bee5cbad0 100644 --- a/src/MeoAssistant/Task/CreditFightTask.h +++ b/src/MeoAssistant/Task/CreditFightTask.h @@ -19,10 +19,6 @@ namespace asst static constexpr const char* TaskType = "CreditFight"; protected: - std::shared_ptr m_start_up_task_ptr = nullptr; - std::shared_ptr m_fight_task_ptr = nullptr; - std::shared_ptr m_copilot_task_ptr = nullptr; - std::shared_ptr m_stage_navigation_task_ptr = nullptr; - std::shared_ptr m_game_restart_plugin_ptr = nullptr; + }; }