From 6d33bbcb866bdd8a50f6d044e37b7dd0b6031b8d Mon Sep 17 00:00:00 2001 From: MistEO Date: Mon, 2 Aug 2021 00:12:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E6=AD=A5=E5=AE=8C=E6=88=90=E5=85=AC?= =?UTF-8?q?=E5=BC=80=E6=8B=9B=E5=8B=9F=E7=9A=84=E4=BB=BB=E5=8A=A1=E6=A1=86?= =?UTF-8?q?=E6=9E=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MeoAssistance/include/Assistance.h | 5 ++- MeoAssistance/include/Logger.hpp | 2 +- MeoAssistance/include/Task.h | 61 +++++++++++++++++++++++--- MeoAssistance/src/Assistance.cpp | 18 ++++++++ MeoAssistance/src/Task.cpp | 70 +++++++++++++++++++++++++++++- Tools/TestOCR/main.cpp | 8 +--- 6 files changed, 149 insertions(+), 15 deletions(-) diff --git a/MeoAssistance/include/Assistance.h b/MeoAssistance/include/Assistance.h index ccd1ddba37..ada1c0fd15 100644 --- a/MeoAssistance/include/Assistance.h +++ b/MeoAssistance/include/Assistance.h @@ -24,7 +24,7 @@ namespace asst { class AbstractTask; enum class TaskMsg; - class Assistance + class MEOAPI_PORT Assistance { public: Assistance(); @@ -33,6 +33,7 @@ namespace asst { std::optional catch_emulator(const std::string& emulator_name = std::string()); void start(const std::string& task); + void start_open_recruit(const std::vector& required_level, bool set_time = true); void stop(bool block = true); @@ -41,6 +42,7 @@ namespace asst { bool print_window(const std::string& filename, bool block = true); + // for debug // 计算公开招募,需要当前处在选择公招Tag的页面 // 参数: // required_level:需要的等级,最优组合的最低等级,在required_level中,才会进行点击 @@ -49,6 +51,7 @@ namespace asst { // std::vector< std::pair < Tags名vector,这个Tags组合可能出的干员组合 > > std::optional, OperCombs>>> open_recruit(const std::vector& required_level, bool set_time = true); + private: static void working_proc(Assistance* pThis); static void task_callback(TaskMsg msg, const json::value& detail, void* custom_arg); diff --git a/MeoAssistance/include/Logger.hpp b/MeoAssistance/include/Logger.hpp index 574f1b9587..77626b5bc3 100644 --- a/MeoAssistance/include/Logger.hpp +++ b/MeoAssistance/include/Logger.hpp @@ -11,7 +11,7 @@ #include "Version.h" namespace asst { - class Logger { + class MEOAPI_PORT Logger { public: ~Logger() = default; diff --git a/MeoAssistance/include/Task.h b/MeoAssistance/include/Task.h index fffccf2d6f..9ed810bb94 100644 --- a/MeoAssistance/include/Task.h +++ b/MeoAssistance/include/Task.h @@ -9,6 +9,7 @@ #include #include "AsstDef.h" +#include "AsstAux.h" namespace cv { @@ -24,6 +25,7 @@ namespace asst { class WinMacro; class Identify; class Configer; + class RecruitConfiger; enum class TaskMsg { /* Error Msg */ @@ -36,9 +38,11 @@ namespace asst { ReadyToSleep, AppendTask, TaskCompleted, - MissionStop - /* Trace Msg */ - // Todo + MissionStop, + /* Open Recruit Msg */ + DetectText, + DetectTags, + RecruitCombs }; static std::ostream& operator<<(std::ostream& os, const TaskMsg& type) { @@ -51,8 +55,10 @@ namespace asst { {TaskMsg::ReadyToSleep, "ReadyToSleep"}, {TaskMsg::AppendTask, "AppendTask"}, {TaskMsg::TaskCompleted, "TaskCompleted"}, - {TaskMsg::MissionStop, "MissionStop"} - + {TaskMsg::MissionStop, "MissionStop"}, + {TaskMsg::DetectText, "DetectText"}, + {TaskMsg::DetectTags, "DetectTags"}, + {TaskMsg::RecruitCombs, "RecruitCombs"} }; return os << _type_name.at(type); } @@ -109,4 +115,49 @@ namespace asst { Configer* m_configer_ptr = NULL; std::vector m_cur_tasks_name; }; + + class OcrAbstractTask : public AbstractTask + { + public: + OcrAbstractTask(TaskCallback callback, void* callback_arg); + virtual bool run() override = 0 ; + + protected: + std::vector