From e3573d7880d8710dca0f0133a7ed741589de73f9 Mon Sep 17 00:00:00 2001 From: lhhxxxxx Date: Sun, 5 Jun 2022 17:57:05 +0800 Subject: [PATCH] core refactor. --- src/MeoAssistant/AsstTypes.h | 7 +------ src/MeoAssistant/Controller.cpp | 4 ++-- src/MeoAssistant/Controller.h | 2 +- src/MeoAssistant/GeneralConfiger.cpp | 9 +++++---- src/MeoAssistant/GeneralConfiger.h | 4 ++-- src/MeoAssistant/StartGameTask.cpp | 9 ++++++--- src/MeoAssistant/StartGameTask.h | 4 ++-- src/MeoAssistant/StartUpTask.cpp | 2 +- 8 files changed, 20 insertions(+), 21 deletions(-) diff --git a/src/MeoAssistant/AsstTypes.h b/src/MeoAssistant/AsstTypes.h index f8b5c452fa..4672024e19 100644 --- a/src/MeoAssistant/AsstTypes.h +++ b/src/MeoAssistant/AsstTypes.h @@ -158,12 +158,7 @@ namespace asst double score = 0.0; Rect rect; }; - - enum class ServerType - { - Official = 0, - Bilibili - }; + } namespace std diff --git a/src/MeoAssistant/Controller.cpp b/src/MeoAssistant/Controller.cpp index 31e990a0e4..2e39182a88 100644 --- a/src/MeoAssistant/Controller.cpp +++ b/src/MeoAssistant/Controller.cpp @@ -522,7 +522,7 @@ cv::Mat asst::Controller::get_resized_image() const return resized_mat; } -int asst::Controller::start_game(const ServerType& server_type, bool block) +std::optional asst::Controller::start_game(const std::string& server_type, bool block) { if (auto intent_name = Resrc.cfg().get_intent_name(server_type)) { @@ -534,7 +534,7 @@ int asst::Controller::start_game(const ServerType& server_type, bool block) } return id; } - return -1; + return std::nullopt; } int asst::Controller::click(const Point& p, bool block) diff --git a/src/MeoAssistant/Controller.h b/src/MeoAssistant/Controller.h index 7fb9101f30..77724c85c9 100644 --- a/src/MeoAssistant/Controller.h +++ b/src/MeoAssistant/Controller.h @@ -38,7 +38,7 @@ namespace asst std::vector get_image_encode() const; // 开启/置顶游戏、点击和滑动都是异步执行,返回该任务的id - int start_game(const ServerType& server_type = asst::ServerType::Official, bool block = true); + std::optional start_game(const std::string& server_type = "", bool block = true); int click(const Point& p, bool block = true); int click(const Rect& rect, bool block = true); diff --git a/src/MeoAssistant/GeneralConfiger.cpp b/src/MeoAssistant/GeneralConfiger.cpp index d9e65a78f4..56c5744f16 100644 --- a/src/MeoAssistant/GeneralConfiger.cpp +++ b/src/MeoAssistant/GeneralConfiger.cpp @@ -28,12 +28,13 @@ bool asst::GeneralConfiger::parse(const json::value& json) m_options.aip_ocr.client_id = aip_ocr.get("clientId", std::string()); m_options.aip_ocr.client_secret = aip_ocr.get("clientSerect", std::string()); } - - const json::value& intent_json = json.at("intent"); - m_intent_name[asst::ServerType::Official] = intent_json.at("Official").as_string(); - m_intent_name[asst::ServerType::Bilibili] = intent_json.at("Bilibili").as_string(); } + + for (const auto& [server_type, intent_name] : json.at("intent").as_object()) + { + m_intent_name[server_type]=intent_name.as_string(); + } for (const auto& [name, cfg_json] : json.at("connection").as_object()) { AdbCfg adb; diff --git a/src/MeoAssistant/GeneralConfiger.h b/src/MeoAssistant/GeneralConfiger.h index 6cd7121dd7..1dc8dac6db 100644 --- a/src/MeoAssistant/GeneralConfiger.h +++ b/src/MeoAssistant/GeneralConfiger.h @@ -84,7 +84,7 @@ namespace asst } } - [[nodiscard]] std::optional get_intent_name(const asst::ServerType& server_type) const + [[nodiscard]] std::optional get_intent_name(const std::string& server_type) const { if (auto iter = m_intent_name.find(server_type); iter != m_intent_name.cend()) @@ -105,6 +105,6 @@ namespace asst std::string m_version; Options m_options; std::unordered_map m_adb_cfg; - std::unordered_map m_intent_name; + std::unordered_map m_intent_name; }; } diff --git a/src/MeoAssistant/StartGameTask.cpp b/src/MeoAssistant/StartGameTask.cpp index 6010d0433d..d35307d3b4 100644 --- a/src/MeoAssistant/StartGameTask.cpp +++ b/src/MeoAssistant/StartGameTask.cpp @@ -6,11 +6,14 @@ using namespace asst; bool StartGameTask::_run() { - m_ctrler->start_game(m_server_type); - return true; + if(m_ctrler->start_game(m_server_type)) + { + return true; + } + return false; } -StartGameTask& StartGameTask::set_param(ServerType server_type) noexcept +StartGameTask& StartGameTask::set_param(std::string server_type) noexcept { m_server_type = server_type; return *this; diff --git a/src/MeoAssistant/StartGameTask.h b/src/MeoAssistant/StartGameTask.h index 5b49739795..7115a5be7b 100644 --- a/src/MeoAssistant/StartGameTask.h +++ b/src/MeoAssistant/StartGameTask.h @@ -11,12 +11,12 @@ namespace asst using AbstractTask::AbstractTask; ~StartGameTask() override = default; - StartGameTask& set_param(ServerType server_type = ServerType::Official) noexcept; + StartGameTask& set_param(std::string server_type = "") noexcept; StartGameTask& set_enable(bool enable = false) noexcept override; protected: bool _run() override; - ServerType m_server_type = ServerType::Official; + std::string m_server_type = ""; }; } diff --git a/src/MeoAssistant/StartUpTask.cpp b/src/MeoAssistant/StartUpTask.cpp index 828941ab29..b8a94405aa 100644 --- a/src/MeoAssistant/StartUpTask.cpp +++ b/src/MeoAssistant/StartUpTask.cpp @@ -16,7 +16,7 @@ asst::StartUpTask::StartUpTask(AsstCallback callback, void* callback_arg) bool asst::StartUpTask::set_params(const json::value& params) { - m_start_game_task_ptr->set_param(static_cast(params.get("server_type", 0))) + m_start_game_task_ptr->set_param(params.get("server_type", "")) .set_enable(params.get("enable",false)); return true; }