From 4b2557782e1a52b70d87c5e5df4e64d2bf67dabd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E5=AE=B6=E6=AC=A3?= <869540029@qq.com> Date: Thu, 20 Apr 2023 10:56:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E5=90=8DoperBox?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 38 ++++------ .../{OperatorEnter.png => OperBoxEnter.png} | Bin ...eratorNameFlagLV.png => OperBoxFlagLV.png} | Bin ...OperatorRoleTab.png => OperBoxRoleTab.png} | Bin ...TabSelect.png => OperBoxRoleTabSelect.png} | Bin src/MaaCore/Assistant.cpp | 4 +- src/MaaCore/MaaCore.vcxproj | 12 ++-- src/MaaCore/MaaCore.vcxproj.filters | 12 ++-- src/MaaCore/Task/Interface/OperBoxTask.cpp | 15 ++++ src/MaaCore/Task/Interface/OperBoxTask.h | 14 ++++ src/MaaCore/Task/Interface/OperTask.cpp | 15 ---- src/MaaCore/Task/Interface/OperTask.h | 14 ---- ...ionTask.cpp => OperBoxRecognitionTask.cpp} | 18 ++--- ...gnitionTask.h => OperBoxRecognitionTask.h} | 6 +- ...eAnalyzer.cpp => OperBoxImageAnalyzer.cpp} | 12 ++-- ...ImageAnalyzer.h => OperBoxImageAnalyzer.h} | 7 +- src/MaaWpfGui/Main/AsstProxy.cs | 14 ++-- src/MaaWpfGui/Res/Localizations/en-us.xaml | 6 +- src/MaaWpfGui/Res/Localizations/ja-jp.xaml | 6 +- src/MaaWpfGui/Res/Localizations/ko-kr.xaml | 6 +- src/MaaWpfGui/Res/Localizations/zh-cn.xaml | 6 +- src/MaaWpfGui/Res/Localizations/zh-tw.xaml | 6 +- .../ViewModels/UI/RecognizerViewModel.cs | 68 ++++++++---------- src/MaaWpfGui/Views/UI/RecognizerView.xaml | 10 +-- 24 files changed, 137 insertions(+), 152 deletions(-) rename resource/template/{OperatorEnter.png => OperBoxEnter.png} (100%) rename resource/template/{OperatorNameFlagLV.png => OperBoxFlagLV.png} (100%) rename resource/template/{OperatorRoleTab.png => OperBoxRoleTab.png} (100%) rename resource/template/{OperatorRoleTabSelect.png => OperBoxRoleTabSelect.png} (100%) create mode 100644 src/MaaCore/Task/Interface/OperBoxTask.cpp create mode 100644 src/MaaCore/Task/Interface/OperBoxTask.h delete mode 100644 src/MaaCore/Task/Interface/OperTask.cpp delete mode 100644 src/MaaCore/Task/Interface/OperTask.h rename src/MaaCore/Task/Miscellaneous/{OperRecognitionTask.cpp => OperBoxRecognitionTask.cpp} (79%) rename src/MaaCore/Task/Miscellaneous/{OperRecognitionTask.h => OperBoxRecognitionTask.h} (72%) rename src/MaaCore/Vision/Miscellaneous/{OperImageAnalyzer.cpp => OperBoxImageAnalyzer.cpp} (88%) rename src/MaaCore/Vision/Miscellaneous/{OperImageAnalyzer.h => OperBoxImageAnalyzer.h} (71%) diff --git a/resource/tasks.json b/resource/tasks.json index 24070c4980..8d1f85f4fe 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -9597,17 +9597,17 @@ 20 ] }, - "OperatorBegin": { + "OperBoxBegin": { "algorithm": "JustReturn", "action": "DoNothing", "next": [ - "OperatorEnter", - "OperatorRoleTabSelect", - "OperatorRoleTab", - "OperatorEnter@ReturnTo" + "OperBoxEnter", + "OperBoxRoleTabSelect", + "OperBoxRoleTab", + "OperBoxEnter@ReturnTo" ] }, - "OperatorEnter": { + "OperBoxEnter": { "action": "ClickSelf", "roi": [ 935, @@ -9616,10 +9616,10 @@ 110 ], "next": [ - "OperatorRoleTabSelect" + "OperBoxRoleTabSelect" ] }, - "OperatorRoleTabSelect": { + "OperBoxRoleTabSelect": { "action": "ClickSelf", "roi": [ 1200, @@ -9628,10 +9628,10 @@ 50 ], "next": [ - "OperatorRoleTab" + "OperBoxRoleTab" ] }, - "OperatorRoleTab": { + "OperBoxRoleTab": { "action": "DoNothing", "roi": [ 1195, @@ -9640,7 +9640,7 @@ 50 ] }, - "OperatorSlowlySwipeToTheRight": { + "OperBoxSlowlySwipeToTheRight": { "doc": "6个横向干员防止识别不全990px", "baseTask": "SlowlySwipeToTheRight", "specificRect": [ @@ -9656,7 +9656,7 @@ 20 ] }, - "OperatorNameFlagLV": { + "OperBoxFlagLV": { "templThreshold": 0.7, "roi": [ 40, @@ -9665,19 +9665,7 @@ 327 ] }, - "OperatorOCR": { - "algorithm": "OcrDetect", - "fullMatch": true, - "text": [], - "roi": [ - 10, - 0, - 130, - 20 - ], - "postDelay": 100 - }, - "OperatorOCRLV": { + "OperBoxNameOCR": { "algorithm": "OcrDetect", "fullMatch": true, "text": [], diff --git a/resource/template/OperatorEnter.png b/resource/template/OperBoxEnter.png similarity index 100% rename from resource/template/OperatorEnter.png rename to resource/template/OperBoxEnter.png diff --git a/resource/template/OperatorNameFlagLV.png b/resource/template/OperBoxFlagLV.png similarity index 100% rename from resource/template/OperatorNameFlagLV.png rename to resource/template/OperBoxFlagLV.png diff --git a/resource/template/OperatorRoleTab.png b/resource/template/OperBoxRoleTab.png similarity index 100% rename from resource/template/OperatorRoleTab.png rename to resource/template/OperBoxRoleTab.png diff --git a/resource/template/OperatorRoleTabSelect.png b/resource/template/OperBoxRoleTabSelect.png similarity index 100% rename from resource/template/OperatorRoleTabSelect.png rename to resource/template/OperBoxRoleTabSelect.png diff --git a/src/MaaCore/Assistant.cpp b/src/MaaCore/Assistant.cpp index 14bb237321..c867c7d085 100644 --- a/src/MaaCore/Assistant.cpp +++ b/src/MaaCore/Assistant.cpp @@ -15,7 +15,7 @@ #include "Task/Interface/FightTask.h" #include "Task/Interface/InfrastTask.h" #include "Task/Interface/MallTask.h" -#include "Task/Interface/OperTask.h" +#include "Task/Interface/OperBoxTask.h" #include "Task/Interface/ReclamationTask.h" #include "Task/Interface/RecruitTask.h" #include "Task/Interface/RoguelikeTask.h" @@ -201,7 +201,7 @@ asst::Assistant::TaskId asst::Assistant::append_task(const std::string& type, co ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(SingleStepTask) ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(VideoRecognitionTask) ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(DepotTask) - ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(OperTask) + ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(OperBoxTask) ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(ReclamationTask) ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(CustomTask) #ifdef ASST_DEBUG diff --git a/src/MaaCore/MaaCore.vcxproj b/src/MaaCore/MaaCore.vcxproj index 4e62a383d4..003a0b8f55 100644 --- a/src/MaaCore/MaaCore.vcxproj +++ b/src/MaaCore/MaaCore.vcxproj @@ -60,8 +60,8 @@ - - + + @@ -93,7 +93,7 @@ - + @@ -215,8 +215,8 @@ - - + + @@ -246,7 +246,7 @@ - + diff --git a/src/MaaCore/MaaCore.vcxproj.filters b/src/MaaCore/MaaCore.vcxproj.filters index 0f34abf237..17d9a146a8 100644 --- a/src/MaaCore/MaaCore.vcxproj.filters +++ b/src/MaaCore/MaaCore.vcxproj.filters @@ -603,13 +603,13 @@ 源文件\Controller - + 源文件\Task\Interface - + 源文件\Task\Miscellaneous - + 源文件\Vision\Miscellaneous @@ -1001,13 +1001,13 @@ 源文件\Controller - + 源文件\Task\Interface - + 源文件\Task\Miscellaneous - + 源文件\Vision\Miscellaneous diff --git a/src/MaaCore/Task/Interface/OperBoxTask.cpp b/src/MaaCore/Task/Interface/OperBoxTask.cpp new file mode 100644 index 0000000000..2536117676 --- /dev/null +++ b/src/MaaCore/Task/Interface/OperBoxTask.cpp @@ -0,0 +1,15 @@ +#include "OperBoxTask.h" + +#include "Task/Miscellaneous/OperBoxRecognitionTask.h" +#include "Task/ProcessTask.h" + +asst::OperBoxTask::OperBoxTask(const AsstCallback& callback, Assistant* inst) : InterfaceTask(callback, inst, TaskType) +{ + auto enter_task = std::make_shared(m_callback, m_inst, TaskType); + enter_task->set_tasks({ "OperBoxBegin" }).set_ignore_error(true); + m_subtasks.emplace_back(enter_task); + + auto recognition_task = std::make_shared(m_callback, m_inst, TaskType); + recognition_task->set_retry_times(0); + m_subtasks.emplace_back(recognition_task); +} diff --git a/src/MaaCore/Task/Interface/OperBoxTask.h b/src/MaaCore/Task/Interface/OperBoxTask.h new file mode 100644 index 0000000000..69a9ad0042 --- /dev/null +++ b/src/MaaCore/Task/Interface/OperBoxTask.h @@ -0,0 +1,14 @@ +#pragma once +#include "Task/InterfaceTask.h" + +namespace asst +{ + class OperBoxTask final : public InterfaceTask + { + public: + inline static constexpr std::string_view TaskType = "OperBox"; + + OperBoxTask(const AsstCallback& callback, Assistant* inst); + virtual ~OperBoxTask() override = default; + }; +} diff --git a/src/MaaCore/Task/Interface/OperTask.cpp b/src/MaaCore/Task/Interface/OperTask.cpp deleted file mode 100644 index 7e09994603..0000000000 --- a/src/MaaCore/Task/Interface/OperTask.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "OperTask.h" - -#include "Task/Miscellaneous/OperRecognitionTask.h" -#include "Task/ProcessTask.h" - -asst::OperTask::OperTask(const AsstCallback& callback, Assistant* inst) : InterfaceTask(callback, inst, TaskType) -{ - auto enter_task = std::make_shared(m_callback, m_inst, TaskType); - enter_task->set_tasks({ "OperatorBegin" }).set_ignore_error(true); - m_subtasks.emplace_back(enter_task); - - auto recognition_task = std::make_shared(m_callback, m_inst, TaskType); - recognition_task->set_retry_times(0); - m_subtasks.emplace_back(recognition_task); -} diff --git a/src/MaaCore/Task/Interface/OperTask.h b/src/MaaCore/Task/Interface/OperTask.h deleted file mode 100644 index 6f422e1703..0000000000 --- a/src/MaaCore/Task/Interface/OperTask.h +++ /dev/null @@ -1,14 +0,0 @@ -#pragma once -#include "Task/InterfaceTask.h" - -namespace asst -{ - class OperTask final : public InterfaceTask - { - public: - inline static constexpr std::string_view TaskType = "Oper"; - - OperTask(const AsstCallback& callback, Assistant* inst); - virtual ~OperTask() override = default; - }; -} diff --git a/src/MaaCore/Task/Miscellaneous/OperRecognitionTask.cpp b/src/MaaCore/Task/Miscellaneous/OperBoxRecognitionTask.cpp similarity index 79% rename from src/MaaCore/Task/Miscellaneous/OperRecognitionTask.cpp rename to src/MaaCore/Task/Miscellaneous/OperBoxRecognitionTask.cpp index 109a1e1b33..7c5b665589 100644 --- a/src/MaaCore/Task/Miscellaneous/OperRecognitionTask.cpp +++ b/src/MaaCore/Task/Miscellaneous/OperBoxRecognitionTask.cpp @@ -1,4 +1,4 @@ -#include "OperRecognitionTask.h" +#include "OperBoxRecognitionTask.h" #include "Utils/Ranges.hpp" @@ -7,11 +7,11 @@ #include "Controller/Controller.h" #include "Task/ProcessTask.h" #include "Utils/Logger.hpp" -#include "Vision/Miscellaneous/OperImageAnalyzer.h" +#include "Vision/Miscellaneous/OperBoxImageAnalyzer.h" #include "Vision/OcrWithFlagTemplImageAnalyzer.h" #include -bool asst::OperRecognitionTask::_run() +bool asst::OperBoxRecognitionTask::_run() { LogTraceFunction; @@ -19,13 +19,13 @@ bool asst::OperRecognitionTask::_run() callback_analyze_result(true); return oper; } -bool asst::OperRecognitionTask::swipe_and_analyze() +bool asst::OperBoxRecognitionTask::swipe_and_analyze() { LogTraceFunction; std::string current_page_last_oper_name = ""; own_opers.clear(); while (true) { - OperImageAnalyzer analyzer(ctrler()->get_image()); + OperBoxImageAnalyzer analyzer(ctrler()->get_image()); auto future = std::async(std::launch::async, [&]() { swipe_page(); }); @@ -45,12 +45,12 @@ bool asst::OperRecognitionTask::swipe_and_analyze() return !own_opers.empty(); } -void asst::OperRecognitionTask::swipe_page() +void asst::OperBoxRecognitionTask::swipe_page() { - ProcessTask(*this, { "OperatorSlowlySwipeToTheRight" }).run(); + ProcessTask(*this, { "OperBoxSlowlySwipeToTheRight" }).run(); } -void asst::OperRecognitionTask::callback_analyze_result(bool done) +void asst::OperBoxRecognitionTask::callback_analyze_result(bool done) { LogTraceFunction; // 获取所有干员名 @@ -76,7 +76,7 @@ void asst::OperRecognitionTask::callback_analyze_result(bool done) callback(AsstMsg::SubTaskExtraInfo, info); } -std::unordered_set asst::OperRecognitionTask::get_own_oper_names() +std::unordered_set asst::OperBoxRecognitionTask::get_own_oper_names() { LogTraceFunction; std::unordered_set own_oper_names; diff --git a/src/MaaCore/Task/Miscellaneous/OperRecognitionTask.h b/src/MaaCore/Task/Miscellaneous/OperBoxRecognitionTask.h similarity index 72% rename from src/MaaCore/Task/Miscellaneous/OperRecognitionTask.h rename to src/MaaCore/Task/Miscellaneous/OperBoxRecognitionTask.h index 3075a7e448..9af48e7a88 100644 --- a/src/MaaCore/Task/Miscellaneous/OperRecognitionTask.h +++ b/src/MaaCore/Task/Miscellaneous/OperBoxRecognitionTask.h @@ -1,16 +1,16 @@ #pragma once #include "Common/AsstBattleDef.h" #include "Task/AbstractTask.h" -#include "Vision/Miscellaneous/OperImageAnalyzer.h" +#include "Vision/Miscellaneous/OperBoxImageAnalyzer.h" #include namespace asst { - class OperRecognitionTask : public AbstractTask + class OperBoxRecognitionTask : public AbstractTask { public: using AbstractTask::AbstractTask; - virtual ~OperRecognitionTask() override = default; + virtual ~OperBoxRecognitionTask() override = default; protected: virtual bool _run() override; diff --git a/src/MaaCore/Vision/Miscellaneous/OperImageAnalyzer.cpp b/src/MaaCore/Vision/Miscellaneous/OperBoxImageAnalyzer.cpp similarity index 88% rename from src/MaaCore/Vision/Miscellaneous/OperImageAnalyzer.cpp rename to src/MaaCore/Vision/Miscellaneous/OperBoxImageAnalyzer.cpp index 53b7c06859..078511f836 100644 --- a/src/MaaCore/Vision/Miscellaneous/OperImageAnalyzer.cpp +++ b/src/MaaCore/Vision/Miscellaneous/OperBoxImageAnalyzer.cpp @@ -1,4 +1,4 @@ -#include "OperImageAnalyzer.h" +#include "OperBoxImageAnalyzer.h" #include "Utils/NoWarningCV.h" @@ -12,19 +12,19 @@ #include #include -bool asst::OperImageAnalyzer::analyze() +bool asst::OperBoxImageAnalyzer::analyze() { LogTraceFunction; current_page_opers.clear(); - bool oper = analyzer_opers(); + bool oper_box = analyzer_opers(); #ifdef ASST_DEBUG m_image_draw = m_image_draw_oper; #endif save_img(utils::path("debug") / utils::path("oper")); - return oper; + return oper_box; } -bool asst::OperImageAnalyzer::analyzer_opers() +bool asst::OperBoxImageAnalyzer::analyzer_opers() { std::vector oper_names_result; oper_names_result.clear(); @@ -32,7 +32,7 @@ bool asst::OperImageAnalyzer::analyzer_opers() OcrWithFlagTemplImageAnalyzer oper_name_analyzer(m_image); - oper_name_analyzer.set_task_info("OperatorNameFlagLV", "OperatorOCRLV"); + oper_name_analyzer.set_task_info("OperBoxFlagLV", "OperBoxNameOCR"); oper_name_analyzer.set_replace(ocr_replace->replace_map, ocr_replace->replace_full); oper_name_analyzer.analyze(); diff --git a/src/MaaCore/Vision/Miscellaneous/OperImageAnalyzer.h b/src/MaaCore/Vision/Miscellaneous/OperBoxImageAnalyzer.h similarity index 71% rename from src/MaaCore/Vision/Miscellaneous/OperImageAnalyzer.h rename to src/MaaCore/Vision/Miscellaneous/OperBoxImageAnalyzer.h index cd6c3b421c..c02153746e 100644 --- a/src/MaaCore/Vision/Miscellaneous/OperImageAnalyzer.h +++ b/src/MaaCore/Vision/Miscellaneous/OperBoxImageAnalyzer.h @@ -7,15 +7,18 @@ namespace asst struct OperBoxInfo { std::string name; + std::string id; + int level = 0; //等级 + int elite = 0; //精英度 }; - class OperImageAnalyzer final : public AbstractImageAnalyzer + class OperBoxImageAnalyzer final : public AbstractImageAnalyzer { public: static constexpr size_t NPos = ~0ULL; public: using AbstractImageAnalyzer::AbstractImageAnalyzer; - virtual ~OperImageAnalyzer() override = default; + virtual ~OperBoxImageAnalyzer() override = default; virtual bool analyze() override; diff --git a/src/MaaWpfGui/Main/AsstProxy.cs b/src/MaaWpfGui/Main/AsstProxy.cs index e9980c9998..3afccf0090 100644 --- a/src/MaaWpfGui/Main/AsstProxy.cs +++ b/src/MaaWpfGui/Main/AsstProxy.cs @@ -567,7 +567,7 @@ namespace MaaWpfGui.Main || unique_finished_task == (_latestTaskId.TryGetValue(TaskType.RecruitCalc, out var recruitCalcTaskId) ? recruitCalcTaskId : 0) || unique_finished_task == (_latestTaskId.TryGetValue(TaskType.CloseDown, out var closeDownTaskId) ? closeDownTaskId : 0) || unique_finished_task == (_latestTaskId.TryGetValue(TaskType.Depot, out var depotTaskId) ? depotTaskId : 0) - || unique_finished_task == (_latestTaskId.TryGetValue(TaskType.Oper, out var operTaskId) ? operTaskId : 0)) + || unique_finished_task == (_latestTaskId.TryGetValue(TaskType.OperBox, out var operBoxTaskId) ? operBoxTaskId : 0)) { isMainTaskQueueAllCompleted = false; } @@ -822,9 +822,9 @@ namespace MaaWpfGui.Main _recognizerViewModel.DepotParse((JObject)subTaskDetails); } - if (taskChain == "Oper") + if (taskChain == "OperBox") { - _recognizerViewModel.OperParse((JObject)subTaskDetails); + _recognizerViewModel.OperBoxParse((JObject)subTaskDetails); } string what = details["what"].ToString(); @@ -1255,7 +1255,7 @@ namespace MaaWpfGui.Main Copilot, VideoRec, Depot, - Oper, + OperBox, } private readonly Dictionary _latestTaskId = new Dictionary(); @@ -1657,11 +1657,11 @@ namespace MaaWpfGui.Main /// 干员识别。 /// /// 是否成功。 - public bool AsstStartOper() + public bool AsstStartOperBox() { var task_params = new JObject(); - AsstTaskId id = AsstAppendTaskWithEncoding("Oper", task_params); - _latestTaskId[TaskType.Oper] = id; + AsstTaskId id = AsstAppendTaskWithEncoding("OperBox", task_params); + _latestTaskId[TaskType.OperBox] = id; return id != 0 && AsstStart(); } diff --git a/src/MaaWpfGui/Res/Localizations/en-us.xaml b/src/MaaWpfGui/Res/Localizations/en-us.xaml index cf91c499b3..ef321c4fd2 100644 --- a/src/MaaWpfGui/Res/Localizations/en-us.xaml +++ b/src/MaaWpfGui/Res/Localizations/en-us.xaml @@ -379,9 +379,9 @@ - 干员识别 Tool beta - 该功能尚处于测试阶段,干员列表请用稀有度和等级排序,若统计有误,欢迎打包 debug/oper 文件后向我们提交issue ~ - 开始识别 + 干员识别 beta + 该功能尚处于测试阶段,干员列表请用稀有度和等级排序,若统计有误,欢迎打包 debug/oper 文件后向我们提交issue ~ + 开始识别 diff --git a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml index a78ac55d86..53dd8a3d07 100644 --- a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml +++ b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml @@ -380,9 +380,9 @@ - 干员识别 beta - 该功能尚处于测试阶段,干员列表请用稀有度和等级排序,若统计有误,欢迎打包 debug/oper 文件后向我们提交issue ~ - 开始识别 + 干员识别 beta + 该功能尚处于测试阶段,干员列表请用稀有度和等级排序,若统计有误,欢迎打包 debug/oper 文件后向我们提交issue ~ + 开始识别 diff --git a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml index 809561cfcd..3c212d987d 100644 --- a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml +++ b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml @@ -360,9 +360,9 @@ - 干员识别 beta - 该功能尚处于测试阶段,干员列表请用稀有度和等级排序,若统计有误,欢迎打包 debug/oper 文件后向我们提交issue ~ - 开始识别 + 干员识别 beta + 该功能尚处于测试阶段,干员列表请用稀有度和等级排序,若统计有误,欢迎打包 debug/oper 文件后向我们提交issue ~ + 开始识别 diff --git a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml index 0644f40d7e..1ad52946ae 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml @@ -382,9 +382,9 @@ - 干员识别 beta - 该功能尚处于测试阶段,干员列表请用稀有度和等级排序,若统计有误,欢迎打包 debug/oper 文件后向我们提交issue ~ - 开始识别 + 干员识别 beta + 该功能尚处于测试阶段,干员列表请用稀有度和等级排序,若统计有误,欢迎打包 debug/oper 文件后向我们提交issue ~ + 开始识别 diff --git a/src/MaaWpfGui/Res/Localizations/zh-tw.xaml b/src/MaaWpfGui/Res/Localizations/zh-tw.xaml index a1d469da31..c93a0cb5b7 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-tw.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-tw.xaml @@ -314,9 +314,9 @@ - 干员识别 beta - 该功能尚处于测试阶段,干员列表请用稀有度和等级排序,若统计有误,欢迎打包 debug/oper 文件后向我们提交issue ~ - 开始识别 + 干员识别 beta + 该功能尚处于测试阶段,干员列表请用稀有度和等级排序,若统计有误,欢迎打包 debug/oper 文件后向我们提交issue ~ + 开始识别 diff --git a/src/MaaWpfGui/ViewModels/UI/RecognizerViewModel.cs b/src/MaaWpfGui/ViewModels/UI/RecognizerViewModel.cs index bd4e22266a..3ebfd9ce2b 100644 --- a/src/MaaWpfGui/ViewModels/UI/RecognizerViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/RecognizerViewModel.cs @@ -336,7 +336,7 @@ namespace MaaWpfGui.ViewModels.UI } #endregion - #region Oper + #region OperBox /// /// 未实装干员,但在battle_data中, @@ -356,23 +356,23 @@ namespace MaaWpfGui.ViewModels.UI "阿米娅-WARRIOR", }; - private string _operInfo = LocalizationHelper.GetString("OperRecognitionTip"); + private string _operBoxInfo = LocalizationHelper.GetString("OperBoxRecognitionTip"); - public string OperInfo + public string OperBoxInfo { - get => _operInfo; - set => SetAndNotify(ref _operInfo, value); + get => _operBoxInfo; + set => SetAndNotify(ref _operBoxInfo, value); } - private string _operResult; + private string _operBoxResult; - public string OperResult + public string OperBoxResult { - get => _operResult; - set => SetAndNotify(ref _operResult, value); + get => _operBoxResult; + set => SetAndNotify(ref _operBoxResult, value); } - public bool OperParse(JObject details) + public bool OperBoxParse(JObject details) { string result = string.Empty; /*已拥有干员*/ @@ -390,14 +390,11 @@ namespace MaaWpfGui.ViewModels.UI int count = 0; foreach (var name in operNotOwn) { - if (count++ < 3) + result += name + "\t"; + if (count++ == 3) { - result += name + ", "; - } - else - { - result += name + "\n\t"; - count = 0; + result += "\n"; + count= 0; } } @@ -405,60 +402,57 @@ namespace MaaWpfGui.ViewModels.UI count = 0; foreach (var name in operOwn) { - if (count++ < 3) + result += name + "\t"; + if (count++ == 3) { - result += name + ", "; - } - else - { - result += name + "\n\t"; + result += "\n"; count = 0; } } - OperResult = result; + OperBoxResult = result; bool done = (bool)details["done"]; if (done) { - OperInfo = LocalizationHelper.GetString("IdentificationCompleted") + "\n" + LocalizationHelper.GetString("OperRecognitionTip"); - OperDone = true; + OperBoxInfo = LocalizationHelper.GetString("IdentificationCompleted") + "\n" + LocalizationHelper.GetString("OperBoxRecognitionTip"); + OperBoxDone = true; } return true; } - private bool _operdone = false; + private bool _operBoxDone = false; /// /// Gets or sets a value indicating whether depot info is parsed. /// - public bool OperDone + public bool OperBoxDone { - get => _operdone; - set => SetAndNotify(ref _operdone, value); + get => _operBoxDone; + set => SetAndNotify(ref _operBoxDone, value); } private void ClearResult() { - OperResult = string.Empty; - OperDone = false; + OperBoxResult = string.Empty; + OperBoxDone = false; } - public async void StartOper() + public async void StartOperBox() { string errMsg = string.Empty; - OperInfo = LocalizationHelper.GetString("ConnectingToEmulator"); + OperBoxInfo = LocalizationHelper.GetString("ConnectingToEmulator"); bool caught = await Task.Run(() => _asstProxy.AsstConnect(ref errMsg)); if (!caught) { - OperInfo = errMsg; + OperBoxInfo = errMsg; return; } - OperInfo = LocalizationHelper.GetString("Identifying"); + OperBoxInfo = LocalizationHelper.GetString("Identifying"); ClearResult(); - _asstProxy.AsstStartOper(); + _asstProxy.AsstStartOperBox(); } #endregion } diff --git a/src/MaaWpfGui/Views/UI/RecognizerView.xaml b/src/MaaWpfGui/Views/UI/RecognizerView.xaml index 1be3aacd19..336ca85cff 100644 --- a/src/MaaWpfGui/Views/UI/RecognizerView.xaml +++ b/src/MaaWpfGui/Views/UI/RecognizerView.xaml @@ -176,7 +176,7 @@ - + @@ -196,13 +196,13 @@ VerticalAlignment="Top" FontSize="14" Style="{StaticResource TextBlockDefaultBold}" - Text="{Binding OperInfo}" + Text="{Binding OperBoxInfo}" TextWrapping="Wrap"/> @@ -219,8 +219,8 @@ Margin="482,0,0,0" HorizontalAlignment="Center" VerticalAlignment="Center" - Command="{s:Action StartOper}" - Content="{DynamicResource BeganToOperRecognition}" + Command="{s:Action StartOperBox}" + Content="{DynamicResource BeganToOperBoxRecognition}" />