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