mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-16 01:40:46 +08:00
37 lines
1.1 KiB
C++
37 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include "AbstractTask.h"
|
|
#include "AsstDef.h"
|
|
|
|
namespace asst
|
|
{
|
|
// 流程任务,按照配置文件里的设置的流程运行
|
|
class ProcessTask : public AbstractTask
|
|
{
|
|
public:
|
|
using AbstractTask::AbstractTask;
|
|
ProcessTask(const AbstractTask& abs, std::vector<std::string> tasks_name);
|
|
ProcessTask(AbstractTask&& abs, std::vector<std::string> tasks_name) noexcept;
|
|
|
|
virtual ~ProcessTask() = default;
|
|
|
|
void set_tasks(std::vector<std::string> tasks_name) noexcept
|
|
{
|
|
m_cur_tasks_name = std::move(tasks_name);
|
|
}
|
|
void set_times_limit(std::string name, int limit)
|
|
{
|
|
m_times_limit.emplace(std::move(name), limit);
|
|
}
|
|
|
|
protected:
|
|
virtual bool _run() override;
|
|
void exec_click_task(const Rect& matched_rect);
|
|
void exec_swipe_task(ProcessTaskAction action);
|
|
|
|
std::vector<std::string> m_cur_tasks_name;
|
|
std::unordered_map<std::string, int> m_times_limit;
|
|
std::unordered_map<std::string, int> m_exec_times;
|
|
};
|
|
}
|