#pragma once #include "Task/InterfaceTask.h" #include namespace asst { class ProcessTask; class StageDropsTaskPlugin; class StageNavigationTask; class DrGrandetTaskPlugin; class FightTask final : public InterfaceTask { public: inline static constexpr std::string_view TaskType = "Fight"; FightTask(const AsstCallback& callback, Assistant* inst); virtual ~FightTask() override = default; virtual bool set_params(const json::value& params) override; protected: std::shared_ptr m_start_up_task_ptr = nullptr; std::shared_ptr m_stage_navigation_task_ptr = nullptr; std::shared_ptr m_fight_task_ptr = nullptr; std::shared_ptr m_stage_drops_plugin_ptr = nullptr; std::shared_ptr m_dr_grandet_task_plugin_ptr = nullptr; }; }