#pragma once #include "PackageTask.h" #include namespace asst { class ProcessTask; class StageDropsTaskPlugin; class GameCrashRestartTaskPlugin; class FightTask final : public PackageTask { public: FightTask(AsstCallback callback, void* callback_arg); virtual ~FightTask() = default; virtual bool set_params(const json::value& params) override; static constexpr const char* TaskType = "Fight"; protected: std::shared_ptr m_start_up_task_ptr = nullptr; std::shared_ptr m_stage_task_ptr = nullptr; std::shared_ptr m_fight_task_ptr = nullptr; std::shared_ptr m_stage_drops_plugin_ptr = nullptr; std::shared_ptr m_game_restart_plugin_ptr = nullptr; }; }