#pragma once #include "Task/InterfaceTask.h" #include namespace asst { class TaskFileReloadTask; class BattleProcessTask; class BattleFormationTask; class CopilotListNotificationPlugin; class ProcessTask; // 抄作业任务 class CopilotTask final : public InterfaceTask { public: inline static constexpr std::string_view TaskType = "Copilot"; CopilotTask(const AsstCallback& callback, Assistant* inst); virtual ~CopilotTask() override = default; virtual bool set_params(const json::value& params) override; std::string get_stage_name() const { return m_stage_name; } private: std::shared_ptr m_task_file_reload_task_ptr = nullptr; std::shared_ptr m_navigate_task_ptr = nullptr; std::shared_ptr m_not_use_prts_task_ptr = nullptr; std::shared_ptr m_adverse_select_task_ptr = nullptr; std::shared_ptr m_formation_task_ptr = nullptr; std::shared_ptr m_battle_task_ptr = nullptr; std::shared_ptr m_copilot_list_notification_ptr = nullptr; std::shared_ptr m_stop_task_ptr = nullptr; std::string m_stage_name; }; }