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;