From 5b6aa2abb6251a1399bda81fdf04ec8a67d4a3c6 Mon Sep 17 00:00:00 2001 From: MistEO Date: Fri, 22 Oct 2021 00:50:26 +0800 Subject: [PATCH] =?UTF-8?q?fix.=E4=BF=AE=E5=A4=8D=E6=A8=A1=E6=8B=9F?= =?UTF-8?q?=E5=99=A8=E8=B7=AF=E5=BE=84=E4=B8=8D=E4=BF=9D=E5=AD=98=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=9B=E4=B8=B4=E6=97=B6=E4=BF=AE=E5=A4=8D=E9=9B=B7?= =?UTF-8?q?=E7=94=B5=E8=BF=9E=E6=8E=A5=E6=96=B9=E5=BC=8F=EF=BC=9B=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=B8=80=E4=BA=9B=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/config.json | 23 ++++++++++--- src/MeoAssistance/Controller.cpp | 1 + src/MeoAssistance/InfrastShiftTask.cpp | 46 ++++++++++++++++++-------- src/MeoAssistance/Resource.h | 6 ++++ 4 files changed, 59 insertions(+), 17 deletions(-) diff --git a/resource/config.json b/resource/config.json index 44c1daccfa..e18033a428 100644 --- a/resource/config.json +++ b/resource/config.json @@ -76,11 +76,26 @@ "adb": { "path": "[EmulatorPath]adb.exe", "connect": "[Adb] connect 127.0.0.1:5555", - "click": "[Adb] -e shell input tap [x] [y]", - "swipe": "[Adb] -e shell input swipe [x1] [y1] [x2] [y2] [duration]", - "display": "[Adb] -e shell dumpsys window displays | grep init= | awk ' { print $3 } '", + "click": "[Adb] -s emulator-5554 shell input tap [x] [y]", + "swipe": "[Adb] -s emulator-5554 shell input swipe [x1] [y1] [x2] [y2] [duration]", + "display": "[Adb] -s emulator-5554 shell dumpsys window displays | grep init= | awk ' { print $3 } '", "displayRegex": "cur=%dx%d", - "screencap": "[Adb] -e shell screencap -p" + "screencap": "[Adb] -s emulator-5554 shell screencap -p" + } + }, + "LDPlayer64": { + "handle": { + "class": "LDPlayerMainFrame", + "window": "雷电模拟器(64)" + }, + "adb": { + "path": "[EmulatorPath]adb.exe", + "connect": "[Adb] connect 127.0.0.1:5555", + "click": "[Adb] -s emulator-5554 shell input tap [x] [y]", + "swipe": "[Adb] -s emulator-5554 shell input swipe [x1] [y1] [x2] [y2] [duration]", + "display": "[Adb] -s emulator-5554 shell dumpsys window displays | grep init= | awk ' { print $3 } '", + "displayRegex": "cur=%dx%d", + "screencap": "[Adb] -s emulator-5554 shell screencap -p" } }, "Nox": { diff --git a/src/MeoAssistance/Controller.cpp b/src/MeoAssistance/Controller.cpp index 8c8de7be97..e674a9edc0 100644 --- a/src/MeoAssistance/Controller.cpp +++ b/src/MeoAssistance/Controller.cpp @@ -178,6 +178,7 @@ bool Controller::try_capture(const EmulatorInfo& info, bool without_handle) return false; } resource.cfg().set_emulator_path(info.name, emulator_path); + resource.user().set_emulator_path(info.name, emulator_path); } else { emulator_path = info.path; diff --git a/src/MeoAssistance/InfrastShiftTask.cpp b/src/MeoAssistance/InfrastShiftTask.cpp index ef086aba1d..5fa9fc925b 100644 --- a/src/MeoAssistance/InfrastShiftTask.cpp +++ b/src/MeoAssistance/InfrastShiftTask.cpp @@ -90,12 +90,7 @@ bool asst::InfrastShiftTask::optimal_calc() [&](const InfrastOperSkillInfo& lhs, const InfrastOperSkillInfo& rhs) -> bool { return lhs.skills_comb.efficient.at(m_product) > rhs.skills_comb.efficient.at(m_product); }); - for (int i = 0; i != max_num_of_opers; ++i) { - optimal_opers.emplace_back(m_all_available_opers.at(i)); - max_efficient += m_all_available_opers.at(i).skills_comb.efficient.at(m_product); - } -#ifdef LOG_TRACE for (const auto& oper : m_all_available_opers) { std::string skill_str; for (const auto& skill : oper.skills_comb.skills) { @@ -103,7 +98,21 @@ bool asst::InfrastShiftTask::optimal_calc() } log.trace(skill_str, oper.skills_comb.efficient.at(m_product)); } -#endif // LOG_TRACE + + for (int i = 0; i != max_num_of_opers; ++i) { + optimal_opers.emplace_back(m_all_available_opers.at(i)); + max_efficient += m_all_available_opers.at(i).skills_comb.efficient.at(m_product); + } + + { + std::string log_str = "[ "; + for (const auto& oper : optimal_opers) { + log_str += oper.skills_comb.intro.empty() ? oper.skills_comb.skills.begin()->names.front() : oper.skills_comb.intro; + log_str += "; "; + } + log_str += "]"; + log.trace("Single comb efficient", max_efficient, " , skills:", log_str); + } // 遍历所有组合,找到效率最高的 auto& all_group = resource.infrast().get_skills_group(m_facility); @@ -173,19 +182,30 @@ bool asst::InfrastShiftTask::optimal_calc() continue; } } + { + std::string log_str = "[ "; + for (const auto& oper : cur_opers) { + log_str += oper.skills_comb.intro.empty() ? oper.skills_comb.skills.begin()->names.front() : oper.skills_comb.intro; + log_str += "; "; + } + log_str += "]"; + log.trace(group.intro, "efficient", cur_efficient, " , skills:", log_str); + } + if (cur_efficient > max_efficient) { optimal_opers = std::move(cur_opers); max_efficient = cur_efficient; } } - - std::string log_str = "[ "; - for (const auto& oper : optimal_opers) { - log_str += oper.skills_comb.intro.empty() ? oper.skills_comb.skills.begin()->names.front() : oper.skills_comb.intro; - log_str += "; "; + { + std::string log_str = "[ "; + for (const auto& oper : optimal_opers) { + log_str += oper.skills_comb.intro.empty() ? oper.skills_comb.skills.begin()->names.front() : oper.skills_comb.intro; + log_str += "; "; + } + log_str += "]"; + log.trace("optimal efficient", max_efficient, " , skills:", log_str); } - log_str += "]"; - log.trace("optimal efficient", max_efficient, " , skills:", log_str); m_optimal_opers = std::move(optimal_opers); diff --git a/src/MeoAssistance/Resource.h b/src/MeoAssistance/Resource.h index bf4fd654bb..eb4bdcbd64 100644 --- a/src/MeoAssistance/Resource.h +++ b/src/MeoAssistance/Resource.h @@ -48,6 +48,9 @@ namespace asst { InfrastConfiger& infrast() noexcept { return m_infrast_cfg_unique_ins; } + UserConfiger& user() noexcept { + return m_user_cfg_unique_ins; + } OcrPack& ocr() noexcept { return m_ocr_pack_unique_ins; } @@ -73,6 +76,9 @@ namespace asst { const InfrastConfiger& infrast() const noexcept { return m_infrast_cfg_unique_ins; } + const UserConfiger& user() const noexcept { + return m_user_cfg_unique_ins; + } const OcrPack& ocr() const noexcept { return m_ocr_pack_unique_ins; }