From 012e8f828d974a8d269c5dd3a31c52382c67319e Mon Sep 17 00:00:00 2001 From: lhhxxxxx Date: Sat, 4 Jun 2022 21:01:02 +0800 Subject: [PATCH 01/17] update adb command --- resource/config.json | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/resource/config.json b/resource/config.json index 366d834b1d..f95362b4b3 100644 --- a/resource/config.json +++ b/resource/config.json @@ -30,7 +30,9 @@ "displayFormat": " init=%dx%d", "screencapRawWithGzip": "[Adb] -s [Address] exec-out \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] exec-out screencap -p", - "release": "[Adb] kill-server" + "release": "[Adb] kill-server", + "openOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", + "openBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" }, "BlueStacks": { "devices": "[Adb] devices", @@ -43,7 +45,9 @@ "displayFormat": "cur=%dx%d", "screencapRawWithGzip": "[Adb] -s [Address] exec-out \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] exec-out screencap -p", - "release": "[Adb] kill-server" + "release": "[Adb] kill-server", + "openOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", + "openBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" }, "MuMuEmulator": { "devices": "[Adb] devices", @@ -56,7 +60,9 @@ "displayFormat": "cur=%dx%d", "screencapRawWithGzip": "[Adb] -s [Address] exec-out \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] exec-out screencap -p", - "release": "[Adb] kill-server" + "release": "[Adb] kill-server", + "openOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", + "openBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" }, "LDPlayer": { "devices": "[Adb] devices", @@ -69,7 +75,9 @@ "displayFormat": "cur=%dx%d", "screencapRawWithGzip": "[Adb] -s [Address] shell \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] shell screencap -p", - "release": "[Adb] kill-server" + "release": "[Adb] kill-server", + "openOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", + "openBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" }, "Nox": { "devices": "[Adb] devices", @@ -82,7 +90,9 @@ "displayFormat": "cur=%dx%d", "screencapRawWithGzip": "[Adb] -s [Address] exec-out \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] exec-out screencap -p", - "release": "[Adb] kill-server" + "release": "[Adb] kill-server", + "openOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", + "openBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" }, "XYAZ": { "devices": "[Adb] devices", @@ -95,7 +105,9 @@ "displayFormat": " init=%dx%d", "screencapRawWithGzip": "[Adb] -s [Address] shell \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] shell screencap -p", - "release": "[Adb] kill-server" + "release": "[Adb] kill-server", + "openOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", + "openBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" }, "WSA": { "devices": "[Adb] devices", @@ -109,7 +121,9 @@ "displayFormat": "Physical size:%dx%d", "screencapRawWithGzip": "[Adb] -s [Address] shell \"screencap -d [DisplayId] | gzip -1\"", "screencapEncode": "[Adb] -s [Address] shell screencap -d [DisplayId] -p", - "release": "[Adb] kill-server" + "release": "[Adb] kill-server", + "openOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", + "openBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" }, "Compatible": { "devices": "[Adb] devices", @@ -122,7 +136,9 @@ "displayFormat": " init=%dx%d", "screencapRawWithGzip": "[Adb] -s [Address] exec-out \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] exec-out screencap -p", - "release": "[Adb] kill-server" + "release": "[Adb] kill-server", + "openOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", + "openBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" } } } From d93321623a5c83e86a61cfff4d0eb59098f9b671 Mon Sep 17 00:00:00 2001 From: lhhxxxxx Date: Sat, 4 Jun 2022 21:04:58 +0800 Subject: [PATCH 02/17] change name --- resource/config.json | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/resource/config.json b/resource/config.json index f95362b4b3..0f15d1bdb2 100644 --- a/resource/config.json +++ b/resource/config.json @@ -31,8 +31,8 @@ "screencapRawWithGzip": "[Adb] -s [Address] exec-out \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] exec-out screencap -p", "release": "[Adb] kill-server", - "openOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", - "openBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" + "startOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", + "startBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" }, "BlueStacks": { "devices": "[Adb] devices", @@ -46,8 +46,8 @@ "screencapRawWithGzip": "[Adb] -s [Address] exec-out \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] exec-out screencap -p", "release": "[Adb] kill-server", - "openOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", - "openBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" + "startOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", + "startBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" }, "MuMuEmulator": { "devices": "[Adb] devices", @@ -61,8 +61,8 @@ "screencapRawWithGzip": "[Adb] -s [Address] exec-out \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] exec-out screencap -p", "release": "[Adb] kill-server", - "openOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", - "openBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" + "startOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", + "startBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" }, "LDPlayer": { "devices": "[Adb] devices", @@ -76,8 +76,8 @@ "screencapRawWithGzip": "[Adb] -s [Address] shell \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] shell screencap -p", "release": "[Adb] kill-server", - "openOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", - "openBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" + "startOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", + "startBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" }, "Nox": { "devices": "[Adb] devices", @@ -91,8 +91,8 @@ "screencapRawWithGzip": "[Adb] -s [Address] exec-out \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] exec-out screencap -p", "release": "[Adb] kill-server", - "openOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", - "openBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" + "startOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", + "startBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" }, "XYAZ": { "devices": "[Adb] devices", @@ -106,8 +106,8 @@ "screencapRawWithGzip": "[Adb] -s [Address] shell \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] shell screencap -p", "release": "[Adb] kill-server", - "openOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", - "openBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" + "startOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", + "startBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" }, "WSA": { "devices": "[Adb] devices", @@ -122,8 +122,8 @@ "screencapRawWithGzip": "[Adb] -s [Address] shell \"screencap -d [DisplayId] | gzip -1\"", "screencapEncode": "[Adb] -s [Address] shell screencap -d [DisplayId] -p", "release": "[Adb] kill-server", - "openOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", - "openBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" + "startOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", + "startBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" }, "Compatible": { "devices": "[Adb] devices", @@ -137,8 +137,8 @@ "screencapRawWithGzip": "[Adb] -s [Address] exec-out \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] exec-out screencap -p", "release": "[Adb] kill-server", - "openOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", - "openBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" + "startOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", + "startBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" } } } From c840db0c4ece1da6b907e2d5247c868d831f1f5f Mon Sep 17 00:00:00 2001 From: lhhxxxxx Date: Sat, 4 Jun 2022 21:52:53 +0800 Subject: [PATCH 03/17] refract start command --- resource/config.json | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/resource/config.json b/resource/config.json index 0f15d1bdb2..03f138bdd2 100644 --- a/resource/config.json +++ b/resource/config.json @@ -31,8 +31,7 @@ "screencapRawWithGzip": "[Adb] -s [Address] exec-out \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] exec-out screencap -p", "release": "[Adb] kill-server", - "startOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", - "startBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" + "start": "[Adb] -s [Address] shell am start -n [Intent]" }, "BlueStacks": { "devices": "[Adb] devices", @@ -46,8 +45,7 @@ "screencapRawWithGzip": "[Adb] -s [Address] exec-out \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] exec-out screencap -p", "release": "[Adb] kill-server", - "startOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", - "startBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" + "start": "[Adb] -s [Address] shell am start -n [Intent]" }, "MuMuEmulator": { "devices": "[Adb] devices", @@ -61,8 +59,7 @@ "screencapRawWithGzip": "[Adb] -s [Address] exec-out \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] exec-out screencap -p", "release": "[Adb] kill-server", - "startOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", - "startBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" + "start": "[Adb] -s [Address] shell am start -n [Intent]" }, "LDPlayer": { "devices": "[Adb] devices", @@ -76,8 +73,7 @@ "screencapRawWithGzip": "[Adb] -s [Address] shell \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] shell screencap -p", "release": "[Adb] kill-server", - "startOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", - "startBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" + "start": "[Adb] -s [Address] shell am start -n [Intent]" }, "Nox": { "devices": "[Adb] devices", @@ -91,8 +87,7 @@ "screencapRawWithGzip": "[Adb] -s [Address] exec-out \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] exec-out screencap -p", "release": "[Adb] kill-server", - "startOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", - "startBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" + "start": "[Adb] -s [Address] shell am start -n [Intent]" }, "XYAZ": { "devices": "[Adb] devices", @@ -106,8 +101,7 @@ "screencapRawWithGzip": "[Adb] -s [Address] shell \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] shell screencap -p", "release": "[Adb] kill-server", - "startOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", - "startBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" + "start": "[Adb] -s [Address] shell am start -n [Intent]" }, "WSA": { "devices": "[Adb] devices", @@ -122,8 +116,7 @@ "screencapRawWithGzip": "[Adb] -s [Address] shell \"screencap -d [DisplayId] | gzip -1\"", "screencapEncode": "[Adb] -s [Address] shell screencap -d [DisplayId] -p", "release": "[Adb] kill-server", - "startOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", - "startBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" + "start": "[Adb] -s [Address] shell am start -n [Intent]" }, "Compatible": { "devices": "[Adb] devices", @@ -137,8 +130,7 @@ "screencapRawWithGzip": "[Adb] -s [Address] exec-out \"screencap | gzip -1\"", "screencapEncode": "[Adb] -s [Address] exec-out screencap -p", "release": "[Adb] kill-server", - "startOfficial": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights/com.u8.sdk.U8UnityContext", - "startBilibili": "[Adb] -s [Address] shell am start -n com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" + "start": "[Adb] -s [Address] shell am start -n [Intent]" } } } From 22f7d778060ec48e58e517e51924278b585088e0 Mon Sep 17 00:00:00 2001 From: lhhxxxxx Date: Sat, 4 Jun 2022 23:15:03 +0800 Subject: [PATCH 04/17] underlying codes implement --- resource/config.json | 4 ++++ src/MeoAssistant/AsstTypes.h | 6 ++++++ src/MeoAssistant/Controller.cpp | 16 ++++++++++++++++ src/MeoAssistant/Controller.h | 6 +++++- src/MeoAssistant/GeneralConfiger.cpp | 6 ++++++ src/MeoAssistant/GeneralConfiger.h | 12 ++++++++++++ 6 files changed, 49 insertions(+), 1 deletion(-) diff --git a/resource/config.json b/resource/config.json index 03f138bdd2..bf793c7fe3 100644 --- a/resource/config.json +++ b/resource/config.json @@ -18,6 +18,10 @@ "cmdFormat_Doc": "命令格式,想打印详细信息可以尝试添加 -v -i" } }, + "intent": { + "Official": "com.hypergryph.arknights/com.u8.sdk.U8UnityContext", + "Bilibili": "com.hypergryph.arknights.bilibili/com.u8.sdk.U8UnityContext" + }, "connection": { "General": { "devices": "[Adb] devices", diff --git a/src/MeoAssistant/AsstTypes.h b/src/MeoAssistant/AsstTypes.h index 1a8490a980..86f0d37f52 100644 --- a/src/MeoAssistant/AsstTypes.h +++ b/src/MeoAssistant/AsstTypes.h @@ -158,6 +158,12 @@ namespace asst double score = 0.0; Rect rect; }; + + enum class ServerType + { + Official, + Bilibili + }; } namespace std diff --git a/src/MeoAssistant/Controller.cpp b/src/MeoAssistant/Controller.cpp index 9ab6a6249f..31e990a0e4 100644 --- a/src/MeoAssistant/Controller.cpp +++ b/src/MeoAssistant/Controller.cpp @@ -522,6 +522,21 @@ cv::Mat asst::Controller::get_resized_image() const return resized_mat; } +int asst::Controller::start_game(const ServerType& server_type, bool block) +{ + if (auto intent_name = Resrc.cfg().get_intent_name(server_type)) + { + std::string cur_cmd = utils::string_replace_all(m_adb.start, "[Intent]", intent_name.value()); + int id = push_cmd(cur_cmd); + if (block) + { + wait(id); + } + return id; + } + return -1; +} + int asst::Controller::click(const Point& p, bool block) { int x = static_cast(p.x * m_control_scale); @@ -828,6 +843,7 @@ bool asst::Controller::connect(const std::string& adb_path, const std::string& a m_adb.screencap_raw_with_gzip = cmd_replace(adb_cfg.screencap_raw_with_gzip); m_adb.screencap_encode = cmd_replace(adb_cfg.screencap_encode); m_adb.release = cmd_replace(adb_cfg.release); + m_adb.start = cmd_replace(adb_cfg.start); return true; } diff --git a/src/MeoAssistant/Controller.h b/src/MeoAssistant/Controller.h index 47e2d117bb..7fb9101f30 100644 --- a/src/MeoAssistant/Controller.h +++ b/src/MeoAssistant/Controller.h @@ -37,7 +37,9 @@ namespace asst cv::Mat get_image(bool raw = false); std::vector get_image_encode() const; - // 点击和滑动都是异步执行,返回该任务的id + // 开启/置顶游戏、点击和滑动都是异步执行,返回该任务的id + int start_game(const ServerType& server_type = asst::ServerType::Official, bool block = true); + int click(const Point& p, bool block = true); int click(const Rect& rect, bool block = true); int click_without_scale(const Point& p, bool block = true); @@ -108,6 +110,8 @@ namespace asst std::string screencap_encode; std::string release; + std::string start; + /* propertities */ enum class ScreencapEndOfLine { diff --git a/src/MeoAssistant/GeneralConfiger.cpp b/src/MeoAssistant/GeneralConfiger.cpp index 47c372bcb1..d9e65a78f4 100644 --- a/src/MeoAssistant/GeneralConfiger.cpp +++ b/src/MeoAssistant/GeneralConfiger.cpp @@ -28,6 +28,11 @@ 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& [name, cfg_json] : json.at("connection").as_object()) { @@ -45,6 +50,7 @@ bool asst::GeneralConfiger::parse(const json::value& json) adb.screencap_raw_with_gzip = cfg_json.at("screencapRawWithGzip").as_string(); adb.screencap_encode = cfg_json.at("screencapEncode").as_string(); adb.release = cfg_json.at("release").as_string(); + adb.start = cfg_json.at("start").as_string(); //adb.pullscreen = cfg_json.at("pullscreen").as_string(); m_adb_cfg[name] = std::move(adb); diff --git a/src/MeoAssistant/GeneralConfiger.h b/src/MeoAssistant/GeneralConfiger.h index cb1ee76c99..6cd7121dd7 100644 --- a/src/MeoAssistant/GeneralConfiger.h +++ b/src/MeoAssistant/GeneralConfiger.h @@ -53,6 +53,7 @@ namespace asst std::string screencap_raw_with_gzip; std::string screencap_encode; std::string release; + std::string start; }; class GeneralConfiger : public AbstractConfiger @@ -83,6 +84,16 @@ namespace asst } } + [[nodiscard]] std::optional get_intent_name(const asst::ServerType& server_type) const + { + if (auto iter = m_intent_name.find(server_type); + iter != m_intent_name.cend()) + { + return iter->second; + } + return std::nullopt; + } + void set_options(Options opt) noexcept { m_options = std::move(opt); @@ -94,5 +105,6 @@ namespace asst std::string m_version; Options m_options; std::unordered_map m_adb_cfg; + std::unordered_map m_intent_name; }; } From 9ea6c865c4e3e4e6fc1996262f04e3350abf2733 Mon Sep 17 00:00:00 2001 From: lhhxxxxx Date: Sat, 4 Jun 2022 23:43:06 +0800 Subject: [PATCH 05/17] before add files --- src/MeoAssistant/StartUpTask.cpp | 7 +++++++ src/MeoAssistant/StartUpTask.h | 2 ++ 2 files changed, 9 insertions(+) diff --git a/src/MeoAssistant/StartUpTask.cpp b/src/MeoAssistant/StartUpTask.cpp index 2dcea8e628..b1229003c0 100644 --- a/src/MeoAssistant/StartUpTask.cpp +++ b/src/MeoAssistant/StartUpTask.cpp @@ -11,3 +11,10 @@ asst::StartUpTask::StartUpTask(AsstCallback callback, void* callback_arg) .set_times_limit("Terminal", 0); m_subtasks.emplace_back(m_start_up_task_ptr); } + +bool asst::StartUpTask::set_params(const json::value& params) +{ + if (!params.contains("server_type")) { + return false; + } +} diff --git a/src/MeoAssistant/StartUpTask.h b/src/MeoAssistant/StartUpTask.h index c508d01701..7119161c71 100644 --- a/src/MeoAssistant/StartUpTask.h +++ b/src/MeoAssistant/StartUpTask.h @@ -11,6 +11,8 @@ namespace asst StartUpTask(AsstCallback callback, void* callback_arg); virtual ~StartUpTask() = default; + bool set_params(const json::value& params) override; + static constexpr const char* TaskType = "StartUp"; private: From fbba196133e5b997272f8c4b997742afc611a411 Mon Sep 17 00:00:00 2001 From: lhhxxxxx Date: Sat, 4 Jun 2022 23:58:27 +0800 Subject: [PATCH 06/17] add files --- src/MeoAssistant/MeoAssistant.vcxproj | 4 +++- src/MeoAssistant/MeoAssistant.vcxproj.filters | 8 +++++++- src/MeoAssistant/StartGameTask.cpp | 1 + src/MeoAssistant/StartGameTask.h | 7 +++++++ 4 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 src/MeoAssistant/StartGameTask.cpp create mode 100644 src/MeoAssistant/StartGameTask.h diff --git a/src/MeoAssistant/MeoAssistant.vcxproj b/src/MeoAssistant/MeoAssistant.vcxproj index 27bed142f1..4bef932522 100644 --- a/src/MeoAssistant/MeoAssistant.vcxproj +++ b/src/MeoAssistant/MeoAssistant.vcxproj @@ -86,6 +86,7 @@ + @@ -165,6 +166,7 @@ + @@ -334,4 +336,4 @@ - \ No newline at end of file + diff --git a/src/MeoAssistant/MeoAssistant.vcxproj.filters b/src/MeoAssistant/MeoAssistant.vcxproj.filters index 67898e17bf..e46ebc49dc 100644 --- a/src/MeoAssistant/MeoAssistant.vcxproj.filters +++ b/src/MeoAssistant/MeoAssistant.vcxproj.filters @@ -240,6 +240,9 @@ 头文件\Task\Sub + + 头文件\Task\Sub + 头文件\ImageAnalyzer\Final @@ -473,6 +476,9 @@ 源文件\Task\Sub + + 源文件\Task\Sub + 源文件\ImageAnalyzer\Final @@ -578,4 +584,4 @@ 资源文件 - \ No newline at end of file + diff --git a/src/MeoAssistant/StartGameTask.cpp b/src/MeoAssistant/StartGameTask.cpp new file mode 100644 index 0000000000..9295881f6f --- /dev/null +++ b/src/MeoAssistant/StartGameTask.cpp @@ -0,0 +1 @@ +#include "StartGameTask.h" diff --git a/src/MeoAssistant/StartGameTask.h b/src/MeoAssistant/StartGameTask.h new file mode 100644 index 0000000000..f7cc928661 --- /dev/null +++ b/src/MeoAssistant/StartGameTask.h @@ -0,0 +1,7 @@ +#pragma once + +class StartGameTask +{ +public: + +}; From a48f7c9a550f112e4f9041538ccd68eb0d68ae5d Mon Sep 17 00:00:00 2001 From: lhhxxxxx Date: Sun, 5 Jun 2022 00:46:21 +0800 Subject: [PATCH 07/17] core completed. --- resource/tasks.json | 1 + src/MeoAssistant/AsstTypes.h | 2 +- src/MeoAssistant/StartGameTask.cpp | 16 ++++++++++++++++ src/MeoAssistant/StartGameTask.h | 22 ++++++++++++++++++---- src/MeoAssistant/StartUpTask.cpp | 16 ++++++++++------ src/MeoAssistant/StartUpTask.h | 3 ++- 6 files changed, 48 insertions(+), 12 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index 933a10e71a..f179ff183b 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -821,6 +821,7 @@ 255 ], "next": [ + "GameStart", "StartToWakeUp", "StartUpConnectingFlag", "StartLoginBServer", diff --git a/src/MeoAssistant/AsstTypes.h b/src/MeoAssistant/AsstTypes.h index 86f0d37f52..f8b5c452fa 100644 --- a/src/MeoAssistant/AsstTypes.h +++ b/src/MeoAssistant/AsstTypes.h @@ -161,7 +161,7 @@ namespace asst enum class ServerType { - Official, + Official = 0, Bilibili }; } diff --git a/src/MeoAssistant/StartGameTask.cpp b/src/MeoAssistant/StartGameTask.cpp index 9295881f6f..5b4dfca554 100644 --- a/src/MeoAssistant/StartGameTask.cpp +++ b/src/MeoAssistant/StartGameTask.cpp @@ -1 +1,17 @@ #include "StartGameTask.h" + +#include "Controller.h" + +using namespace asst; + +bool StartGameTask::_run() +{ + m_ctrler->start_game(m_server_type); + return true; +} + +StartGameTask& StartGameTask::set_param(ServerType server_type) noexcept +{ + m_server_type = server_type; + return *this; +} diff --git a/src/MeoAssistant/StartGameTask.h b/src/MeoAssistant/StartGameTask.h index f7cc928661..79751d9b63 100644 --- a/src/MeoAssistant/StartGameTask.h +++ b/src/MeoAssistant/StartGameTask.h @@ -1,7 +1,21 @@ #pragma once -class StartGameTask +#include "AbstractTask.h" +#include "AsstTypes.h" + +namespace asst { -public: - -}; + class StartGameTask : public AbstractTask + { + public: + using AbstractTask::AbstractTask; + ~StartGameTask() override = default; + + StartGameTask& set_param(ServerType server_type = ServerType::Official) noexcept; + + protected: + bool _run() override; + + ServerType m_server_type = ServerType::Official; + }; +} diff --git a/src/MeoAssistant/StartUpTask.cpp b/src/MeoAssistant/StartUpTask.cpp index b1229003c0..7580c2559c 100644 --- a/src/MeoAssistant/StartUpTask.cpp +++ b/src/MeoAssistant/StartUpTask.cpp @@ -4,17 +4,21 @@ asst::StartUpTask::StartUpTask(AsstCallback callback, void* callback_arg) : PackageTask(callback, callback_arg, TaskType), - m_start_up_task_ptr(std::make_shared(m_callback, m_callback_arg, TaskType)) + m_start_game_task_ptr(std::make_shared(m_callback, m_callback_arg, TaskType)), + m_start_up_task_ptr(std::make_shared(m_callback, m_callback_arg, TaskType)) { - m_start_up_task_ptr->set_tasks({ "StartUp" }) - .set_times_limit("ReturnToTerminal", 0) - .set_times_limit("Terminal", 0); + m_start_up_task_ptr->set_tasks({"StartUp"}) + .set_times_limit("ReturnToTerminal", 0) + .set_times_limit("Terminal", 0); + m_subtasks.emplace_back(m_start_game_task_ptr); m_subtasks.emplace_back(m_start_up_task_ptr); } bool asst::StartUpTask::set_params(const json::value& params) { - if (!params.contains("server_type")) { - return false; + if (params.contains("server_type")) + { + m_start_game_task_ptr->set_param(static_cast(params.get("server_type", 0))); } + return true; } diff --git a/src/MeoAssistant/StartUpTask.h b/src/MeoAssistant/StartUpTask.h index 7119161c71..69be38ce29 100644 --- a/src/MeoAssistant/StartUpTask.h +++ b/src/MeoAssistant/StartUpTask.h @@ -1,5 +1,6 @@ #pragma once #include "PackageTask.h" +#include "StartGameTask.h" namespace asst { @@ -15,7 +16,7 @@ namespace asst static constexpr const char* TaskType = "StartUp"; private: - + std::shared_ptr m_start_game_task_ptr = nullptr; std::shared_ptr m_start_up_task_ptr = nullptr; }; } From a39e4b999e1948a0b3df019682d5770910c79ad1 Mon Sep 17 00:00:00 2001 From: lhhxxxxx Date: Sun, 5 Jun 2022 01:13:54 +0800 Subject: [PATCH 08/17] view completed. --- src/MeoAsstGui/MeoAsstGui.csproj | 4 +++ .../UserControl/StartSettingsUserControl.xaml | 25 ++++++++++++++++++ .../StartSettingsUserControl.xaml.cs | 26 +++++++++++++++++++ .../ViewModels/SettingsViewModel.cs | 22 ++++++++++++++++ src/MeoAsstGui/Views/SettingsView.xaml | 21 ++++++++------- 5 files changed, 89 insertions(+), 9 deletions(-) create mode 100644 src/MeoAsstGui/UserControl/StartSettingsUserControl.xaml create mode 100644 src/MeoAsstGui/UserControl/StartSettingsUserControl.xaml.cs diff --git a/src/MeoAsstGui/MeoAsstGui.csproj b/src/MeoAsstGui/MeoAsstGui.csproj index af025fcad5..e8d2faff11 100644 --- a/src/MeoAsstGui/MeoAsstGui.csproj +++ b/src/MeoAsstGui/MeoAsstGui.csproj @@ -101,6 +101,9 @@ + + StartSettingsUserControl.xaml + TimerSettingsUserControl.xaml @@ -153,6 +156,7 @@ MSBuild:Compile Designer + MSBuild:Compile Designer diff --git a/src/MeoAsstGui/UserControl/StartSettingsUserControl.xaml b/src/MeoAsstGui/UserControl/StartSettingsUserControl.xaml new file mode 100644 index 0000000000..d93c89978b --- /dev/null +++ b/src/MeoAsstGui/UserControl/StartSettingsUserControl.xaml @@ -0,0 +1,25 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/MeoAsstGui/UserControl/StartSettingsUserControl.xaml.cs b/src/MeoAsstGui/UserControl/StartSettingsUserControl.xaml.cs new file mode 100644 index 0000000000..92fbcd2e9c --- /dev/null +++ b/src/MeoAsstGui/UserControl/StartSettingsUserControl.xaml.cs @@ -0,0 +1,26 @@ +// MeoAsstGui - A part of the MeoAssistantArknights project +// Copyright (C) 2021 MistEO and Contributors +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY + +using System.Windows.Controls; + +namespace MeoAsstGui +{ + /// + /// StartSettingsUserControl.xaml 的交互逻辑 + /// + public partial class StartSettingsUserControl : UserControl + { + public StartSettingsUserControl() + { + InitializeComponent(); + } + } +} diff --git a/src/MeoAsstGui/ViewModels/SettingsViewModel.cs b/src/MeoAsstGui/ViewModels/SettingsViewModel.cs index f05f115787..22f8fb240c 100644 --- a/src/MeoAsstGui/ViewModels/SettingsViewModel.cs +++ b/src/MeoAsstGui/ViewModels/SettingsViewModel.cs @@ -43,6 +43,7 @@ namespace MeoAsstGui _windowManager = windowManager; DisplayName = "设置"; + _listTitle.Add("唤醒设置"); _listTitle.Add("基建设置"); _listTitle.Add("肉鸽设置"); _listTitle.Add("自动公招"); @@ -132,6 +133,12 @@ namespace MeoAsstGui new CombData { Display = "刷源石锭投资,第一层商店后直接退出", Value = "1" }, new CombData { Display = "刷源石锭投资,投资过后退出", Value = "2" } }; + + ServerTypeList = new List + { + new CombData { Display = "官服", Value = "0" }, + new CombData { Display = "Bilibili服", Value = "1" } + }; } private bool _idle = true; @@ -145,12 +152,27 @@ namespace MeoAsstGui } } + /* 唤醒设置 */ + + private string _serverType = ViewStatusStorage.Get("Start.ServerType", "0"); + + public string ServerType + { + get { return _serverType; } + set + { + SetAndNotify(ref _serverType, value); + ViewStatusStorage.Set("Start.ServerType", value); + } + } + /* 基建设置 */ public Dictionary FacilityKey = new Dictionary(); public ObservableCollection InfrastItemViewModels { get; set; } public List UsesOfDronesList { get; set; } public List RoguelikeModeList { get; set; } + public List ServerTypeList { get; set; } public List ConnectConfigList { get; set; } private int _dormThreshold = Convert.ToInt32(ViewStatusStorage.Get("Infrast.DormThreshold", "30")); diff --git a/src/MeoAsstGui/Views/SettingsView.xaml b/src/MeoAsstGui/Views/SettingsView.xaml index 4b5ee02d1c..03f63b00b0 100644 --- a/src/MeoAsstGui/Views/SettingsView.xaml +++ b/src/MeoAsstGui/Views/SettingsView.xaml @@ -26,33 +26,36 @@ - + - + - + - + - + - + - + - + - + + + + From 64d3e3018147075bffb7714ba3c50cd006c581b1 Mon Sep 17 00:00:00 2001 From: lhhxxxxx Date: Sun, 5 Jun 2022 01:24:06 +0800 Subject: [PATCH 09/17] full completed. --- src/MeoAsstGui/Helper/AsstProxy.cs | 6 ++++-- src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs | 10 +++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/MeoAsstGui/Helper/AsstProxy.cs b/src/MeoAsstGui/Helper/AsstProxy.cs index a313192e88..bf12949cf3 100644 --- a/src/MeoAsstGui/Helper/AsstProxy.cs +++ b/src/MeoAsstGui/Helper/AsstProxy.cs @@ -681,9 +681,11 @@ namespace MeoAsstGui return AsstAppendTaskWithEncoding("Award"); } - public bool AsstAppendStartUp() + public bool AsstAppendStartUp(int server_type) { - return AsstAppendTaskWithEncoding("StartUp"); + var task_params = new JObject(); + task_params["server_type"] = server_type; + return AsstAppendTaskWithEncoding("StartUp", task_params); } public bool AsstAppendVisit() diff --git a/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs b/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs index 9e56fe558b..a4744ad421 100644 --- a/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs +++ b/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs @@ -250,7 +250,7 @@ namespace MeoAsstGui } else if (item.Name == "开始唤醒") { - ret &= asstProxy.AsstAppendStartUp(); + ret &= appendStart(); } else if (item.Name == "刷理智") { @@ -327,6 +327,14 @@ namespace MeoAsstGui ViewStatusStorage.Set("MainFunction.TimesLimited.Quantity", MaxTimes); } + private bool appendStart() + { + var settings = _container.Get(); + var asstProxy = _container.Get(); + int.TryParse(settings.ServerType, out var mode); + return asstProxy.AsstAppendStartUp(mode); + } + private bool appendFight() { int medicine = 0; From 10aca3df2d5709098fb2b8341b3a2bfa8a2338e0 Mon Sep 17 00:00:00 2001 From: lhhxxxxx Date: Sun, 5 Jun 2022 15:08:54 +0800 Subject: [PATCH 10/17] deleted redundant if. --- src/MeoAssistant/StartUpTask.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/MeoAssistant/StartUpTask.cpp b/src/MeoAssistant/StartUpTask.cpp index 7580c2559c..7ff528981c 100644 --- a/src/MeoAssistant/StartUpTask.cpp +++ b/src/MeoAssistant/StartUpTask.cpp @@ -16,9 +16,6 @@ asst::StartUpTask::StartUpTask(AsstCallback callback, void* callback_arg) bool asst::StartUpTask::set_params(const json::value& params) { - if (params.contains("server_type")) - { - m_start_game_task_ptr->set_param(static_cast(params.get("server_type", 0))); - } + m_start_game_task_ptr->set_param(static_cast(params.get("server_type", 0))); return true; } From 407463f458ec6550392464f070ecd5f92fb909ab Mon Sep 17 00:00:00 2001 From: lhhxxxxx Date: Sun, 5 Jun 2022 15:29:15 +0800 Subject: [PATCH 11/17] order changed. --- src/MeoAsstGui/ViewModels/SettingsViewModel.cs | 2 +- src/MeoAsstGui/Views/SettingsView.xaml | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/MeoAsstGui/ViewModels/SettingsViewModel.cs b/src/MeoAsstGui/ViewModels/SettingsViewModel.cs index 22f8fb240c..b036b383fd 100644 --- a/src/MeoAsstGui/ViewModels/SettingsViewModel.cs +++ b/src/MeoAsstGui/ViewModels/SettingsViewModel.cs @@ -43,12 +43,12 @@ namespace MeoAsstGui _windowManager = windowManager; DisplayName = "设置"; - _listTitle.Add("唤醒设置"); _listTitle.Add("基建设置"); _listTitle.Add("肉鸽设置"); _listTitle.Add("自动公招"); _listTitle.Add("信用商店"); _listTitle.Add("定时执行"); + _listTitle.Add("唤醒设置"); _listTitle.Add("企鹅数据"); _listTitle.Add("连接设置"); _listTitle.Add("通知显示"); diff --git a/src/MeoAsstGui/Views/SettingsView.xaml b/src/MeoAsstGui/Views/SettingsView.xaml index 03f63b00b0..53f8f4ab41 100644 --- a/src/MeoAsstGui/Views/SettingsView.xaml +++ b/src/MeoAsstGui/Views/SettingsView.xaml @@ -26,23 +26,23 @@ - - - - + - + - + - + + + + From 85d559d88450ef21017371b51554a17880aec67b Mon Sep 17 00:00:00 2001 From: lhhxxxxx Date: Sun, 5 Jun 2022 15:47:27 +0800 Subject: [PATCH 12/17] core start game enable implement. --- src/MeoAssistant/StartGameTask.cpp | 6 ++++++ src/MeoAssistant/StartGameTask.h | 1 + src/MeoAssistant/StartUpTask.cpp | 3 ++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/MeoAssistant/StartGameTask.cpp b/src/MeoAssistant/StartGameTask.cpp index 5b4dfca554..6010d0433d 100644 --- a/src/MeoAssistant/StartGameTask.cpp +++ b/src/MeoAssistant/StartGameTask.cpp @@ -15,3 +15,9 @@ StartGameTask& StartGameTask::set_param(ServerType server_type) noexcept m_server_type = server_type; return *this; } + +StartGameTask& StartGameTask::set_enable(bool enable) noexcept +{ + AbstractTask::set_enable(enable); + return *this; +} diff --git a/src/MeoAssistant/StartGameTask.h b/src/MeoAssistant/StartGameTask.h index 79751d9b63..5b49739795 100644 --- a/src/MeoAssistant/StartGameTask.h +++ b/src/MeoAssistant/StartGameTask.h @@ -12,6 +12,7 @@ namespace asst ~StartGameTask() override = default; StartGameTask& set_param(ServerType server_type = ServerType::Official) noexcept; + StartGameTask& set_enable(bool enable = false) noexcept override; protected: bool _run() override; diff --git a/src/MeoAssistant/StartUpTask.cpp b/src/MeoAssistant/StartUpTask.cpp index 7ff528981c..828941ab29 100644 --- a/src/MeoAssistant/StartUpTask.cpp +++ b/src/MeoAssistant/StartUpTask.cpp @@ -16,6 +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(static_cast(params.get("server_type", 0))) + .set_enable(params.get("enable",false)); return true; } From 559979fa9b849e4feae4c392cab232e902a2a227 Mon Sep 17 00:00:00 2001 From: lhhxxxxx Date: Sun, 5 Jun 2022 16:37:26 +0800 Subject: [PATCH 13/17] gui start enable implement. --- src/MeoAsstGui/Helper/AsstProxy.cs | 3 ++- .../UserControl/StartSettingsUserControl.xaml | 20 ++++++++++++------- .../ViewModels/SettingsViewModel.cs | 12 +++++++++++ .../ViewModels/TaskQueueViewModel.cs | 3 ++- 4 files changed, 29 insertions(+), 9 deletions(-) diff --git a/src/MeoAsstGui/Helper/AsstProxy.cs b/src/MeoAsstGui/Helper/AsstProxy.cs index bf12949cf3..94a8b6b562 100644 --- a/src/MeoAsstGui/Helper/AsstProxy.cs +++ b/src/MeoAsstGui/Helper/AsstProxy.cs @@ -681,10 +681,11 @@ namespace MeoAsstGui return AsstAppendTaskWithEncoding("Award"); } - public bool AsstAppendStartUp(int server_type) + public bool AsstAppendStartUp(int server_type, bool enable) { var task_params = new JObject(); task_params["server_type"] = server_type; + task_params["enable"] = enable; return AsstAppendTaskWithEncoding("StartUp", task_params); } diff --git a/src/MeoAsstGui/UserControl/StartSettingsUserControl.xaml b/src/MeoAsstGui/UserControl/StartSettingsUserControl.xaml index d93c89978b..e90e2b3017 100644 --- a/src/MeoAsstGui/UserControl/StartSettingsUserControl.xaml +++ b/src/MeoAsstGui/UserControl/StartSettingsUserControl.xaml @@ -14,12 +14,18 @@ - - + + + + + \ No newline at end of file diff --git a/src/MeoAsstGui/ViewModels/SettingsViewModel.cs b/src/MeoAsstGui/ViewModels/SettingsViewModel.cs index b036b383fd..188043d26a 100644 --- a/src/MeoAsstGui/ViewModels/SettingsViewModel.cs +++ b/src/MeoAsstGui/ViewModels/SettingsViewModel.cs @@ -154,6 +154,18 @@ namespace MeoAsstGui /* 唤醒设置 */ + private bool _startGameEnable = Convert.ToBoolean(ViewStatusStorage.Get("Start.StartGameEnable", bool.FalseString)); + + public bool StartGameEnable + { + get { return _startGameEnable; } + set + { + SetAndNotify(ref _startGameEnable, value); + ViewStatusStorage.Set("Start.StartGameEnable", value.ToString()); + } + } + private string _serverType = ViewStatusStorage.Get("Start.ServerType", "0"); public string ServerType diff --git a/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs b/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs index a4744ad421..ad4f7e67eb 100644 --- a/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs +++ b/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs @@ -332,7 +332,8 @@ namespace MeoAsstGui var settings = _container.Get(); var asstProxy = _container.Get(); int.TryParse(settings.ServerType, out var mode); - return asstProxy.AsstAppendStartUp(mode); + var enable = settings.StartGameEnable; + return asstProxy.AsstAppendStartUp(mode, enable); } private bool appendFight() From f640bba86754a2f41061cd859857ab4acdf25dca Mon Sep 17 00:00:00 2001 From: lhhxxxxx Date: Sun, 5 Jun 2022 17:57:05 +0800 Subject: [PATCH 14/17] 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; } From 97afa5befbcf81523dcb841ff63487918cf53167 Mon Sep 17 00:00:00 2001 From: lhhxxxxx Date: Sun, 5 Jun 2022 18:05:06 +0800 Subject: [PATCH 15/17] gui refactor. --- src/MeoAsstGui/Helper/AsstProxy.cs | 2 +- src/MeoAsstGui/ViewModels/SettingsViewModel.cs | 6 +++--- src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/MeoAsstGui/Helper/AsstProxy.cs b/src/MeoAsstGui/Helper/AsstProxy.cs index 94a8b6b562..9a3da6118e 100644 --- a/src/MeoAsstGui/Helper/AsstProxy.cs +++ b/src/MeoAsstGui/Helper/AsstProxy.cs @@ -681,7 +681,7 @@ namespace MeoAsstGui return AsstAppendTaskWithEncoding("Award"); } - public bool AsstAppendStartUp(int server_type, bool enable) + public bool AsstAppendStartUp(string server_type, bool enable) { var task_params = new JObject(); task_params["server_type"] = server_type; diff --git a/src/MeoAsstGui/ViewModels/SettingsViewModel.cs b/src/MeoAsstGui/ViewModels/SettingsViewModel.cs index 188043d26a..9f37aab835 100644 --- a/src/MeoAsstGui/ViewModels/SettingsViewModel.cs +++ b/src/MeoAsstGui/ViewModels/SettingsViewModel.cs @@ -136,8 +136,8 @@ namespace MeoAsstGui ServerTypeList = new List { - new CombData { Display = "官服", Value = "0" }, - new CombData { Display = "Bilibili服", Value = "1" } + new CombData { Display = "官服", Value = "Official" }, + new CombData { Display = "Bilibili服", Value = "Bilibili" } }; } @@ -166,7 +166,7 @@ namespace MeoAsstGui } } - private string _serverType = ViewStatusStorage.Get("Start.ServerType", "0"); + private string _serverType = ViewStatusStorage.Get("Start.ServerType", "Official"); public string ServerType { diff --git a/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs b/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs index ad4f7e67eb..06225d6de1 100644 --- a/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs +++ b/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs @@ -331,7 +331,7 @@ namespace MeoAsstGui { var settings = _container.Get(); var asstProxy = _container.Get(); - int.TryParse(settings.ServerType, out var mode); + var mode = settings.ServerType; var enable = settings.StartGameEnable; return asstProxy.AsstAppendStartUp(mode, enable); } From 9cdca12bec9dc4fcc519f2260107b09041396d10 Mon Sep 17 00:00:00 2001 From: lhhxxxxx Date: Sun, 5 Jun 2022 18:15:32 +0800 Subject: [PATCH 16/17] startup subtask error callback implement. --- src/MeoAsstGui/Helper/AsstProxy.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/MeoAsstGui/Helper/AsstProxy.cs b/src/MeoAsstGui/Helper/AsstProxy.cs index 9a3da6118e..6026c1c748 100644 --- a/src/MeoAsstGui/Helper/AsstProxy.cs +++ b/src/MeoAsstGui/Helper/AsstProxy.cs @@ -254,6 +254,10 @@ namespace MeoAsstGui switch (subTask) { + case "StartGameTask": + mainModel.AddLog("打开客户端失败,请\n检查配置文件", "darkred"); + break; + case "AutoRecruitTask": mainModel.AddLog("公招识别错误,已返回", "darkred"); break; From a69267b924139981e87b86efc80a355beff2d32c Mon Sep 17 00:00:00 2001 From: lhhxxxxx Date: Sun, 5 Jun 2022 18:35:13 +0800 Subject: [PATCH 17/17] renamed. --- src/MeoAssistant/StartGameTask.cpp | 6 +++--- src/MeoAssistant/StartGameTask.h | 2 +- src/MeoAssistant/StartUpTask.cpp | 4 ++-- src/MeoAsstGui/Helper/AsstProxy.cs | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/MeoAssistant/StartGameTask.cpp b/src/MeoAssistant/StartGameTask.cpp index d35307d3b4..a0c35f61ad 100644 --- a/src/MeoAssistant/StartGameTask.cpp +++ b/src/MeoAssistant/StartGameTask.cpp @@ -6,16 +6,16 @@ using namespace asst; bool StartGameTask::_run() { - if(m_ctrler->start_game(m_server_type)) + if(m_ctrler->start_game(m_client_type)) { return true; } return false; } -StartGameTask& StartGameTask::set_param(std::string server_type) noexcept +StartGameTask& StartGameTask::set_param(std::string client_type) noexcept { - m_server_type = server_type; + m_client_type = client_type; return *this; } diff --git a/src/MeoAssistant/StartGameTask.h b/src/MeoAssistant/StartGameTask.h index 7115a5be7b..d359adbfb3 100644 --- a/src/MeoAssistant/StartGameTask.h +++ b/src/MeoAssistant/StartGameTask.h @@ -17,6 +17,6 @@ namespace asst protected: bool _run() override; - std::string m_server_type = ""; + std::string m_client_type = ""; }; } diff --git a/src/MeoAssistant/StartUpTask.cpp b/src/MeoAssistant/StartUpTask.cpp index b8a94405aa..f70cc92570 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(params.get("server_type", "")) - .set_enable(params.get("enable",false)); + m_start_game_task_ptr->set_param(params.get("client_type", "")) + .set_enable(params.get("start_game_enable",false)); return true; } diff --git a/src/MeoAsstGui/Helper/AsstProxy.cs b/src/MeoAsstGui/Helper/AsstProxy.cs index 6026c1c748..c3cc0dffb3 100644 --- a/src/MeoAsstGui/Helper/AsstProxy.cs +++ b/src/MeoAsstGui/Helper/AsstProxy.cs @@ -688,8 +688,8 @@ namespace MeoAsstGui public bool AsstAppendStartUp(string server_type, bool enable) { var task_params = new JObject(); - task_params["server_type"] = server_type; - task_params["enable"] = enable; + task_params["client_type"] = server_type; + task_params["start_game_enable"] = enable; return AsstAppendTaskWithEncoding("StartUp", task_params); }