From d39b138faf395868ef19f79109fd7480094fa695 Mon Sep 17 00:00:00 2001 From: MistEO Date: Fri, 30 Sep 2022 00:18:28 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=86=8D=E6=B7=BB=E5=8A=A0=E4=B8=80?= =?UTF-8?q?=E4=BA=9BProcessTask=E7=9A=84=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MeoAssistant/Task/Sub/ProcessTask.cpp | 8 +++++++- src/MeoAssistant/Task/Sub/ProcessTask.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/MeoAssistant/Task/Sub/ProcessTask.cpp b/src/MeoAssistant/Task/Sub/ProcessTask.cpp index daebf809dd..e37c616a8d 100644 --- a/src/MeoAssistant/Task/Sub/ProcessTask.cpp +++ b/src/MeoAssistant/Task/Sub/ProcessTask.cpp @@ -63,6 +63,7 @@ asst::ProcessTask& asst::ProcessTask::set_tasks(std::vector tasks_n { m_cur_retry = 0; m_raw_tasks_name = std::move(tasks_name); + m_pre_task_name.clear(); return *this; } @@ -86,6 +87,10 @@ bool ProcessTask::_run() if (need_exit()) { return false; } + if (m_cur_task_ptr && m_pre_task_name != m_cur_task_ptr->name) { + m_pre_task_name = m_cur_task_ptr->name; + } + json::value info = basic_info(); info["details"] = json::object { { "to_be_recognized", json::array(m_cur_tasks_name) }, @@ -266,7 +271,8 @@ bool asst::ProcessTask::on_run_fails() json::value asst::ProcessTask::basic_info() const { - return AbstractTask::basic_info() | json::object { { "first", json::array(m_raw_tasks_name) } }; + return AbstractTask::basic_info() | + json::object { { "first", json::array(m_raw_tasks_name) }, { "pre_task", m_pre_task_name } }; } void ProcessTask::exec_click_task(const Rect& matched_rect) diff --git a/src/MeoAssistant/Task/Sub/ProcessTask.h b/src/MeoAssistant/Task/Sub/ProcessTask.h index c3c438b75e..139f897e59 100644 --- a/src/MeoAssistant/Task/Sub/ProcessTask.h +++ b/src/MeoAssistant/Task/Sub/ProcessTask.h @@ -34,6 +34,7 @@ namespace asst std::shared_ptr m_cur_task_ptr = nullptr; std::vector m_raw_tasks_name; std::vector m_cur_tasks_name; + std::string m_pre_task_name; std::unordered_map m_rear_delay; std::unordered_map m_times_limit; std::unordered_map m_exec_times;