mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-16 17:57:01 +08:00
feat.新增支持刷理智时崩溃自动重开游戏并继续上一次战斗。还重构了一些有的没的
https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/720 https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/115 https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/766
This commit is contained in:
@@ -13,8 +13,7 @@
|
||||
asst::ProcessTaskImageAnalyzer::ProcessTaskImageAnalyzer(const cv::Mat& image, std::vector<std::string> tasks_name)
|
||||
: AbstractImageAnalyzer(image),
|
||||
m_tasks_name(std::move(tasks_name))
|
||||
{
|
||||
}
|
||||
{}
|
||||
|
||||
asst::ProcessTaskImageAnalyzer::~ProcessTaskImageAnalyzer() = default;
|
||||
|
||||
@@ -26,7 +25,7 @@ bool asst::ProcessTaskImageAnalyzer::match_analyze(const std::shared_ptr<TaskInf
|
||||
const auto match_task_ptr = std::dynamic_pointer_cast<MatchTaskInfo>(task_ptr);
|
||||
m_match_analyzer->set_region_of_appeared(Rect());
|
||||
m_match_analyzer->set_task_info(match_task_ptr);
|
||||
auto region_opt = m_status->get_region(match_task_ptr->name);
|
||||
auto region_opt = m_status->get_rect(match_task_ptr->name);
|
||||
if (region_opt) {
|
||||
m_match_analyzer->set_region_of_appeared(region_opt.value());
|
||||
}
|
||||
@@ -34,7 +33,7 @@ bool asst::ProcessTaskImageAnalyzer::match_analyze(const std::shared_ptr<TaskInf
|
||||
if (m_match_analyzer->analyze()) {
|
||||
m_result = match_task_ptr;
|
||||
m_result_rect = m_match_analyzer->get_result().rect;
|
||||
m_status->set_region(match_task_ptr->name, m_result_rect);
|
||||
m_status->set_rect(match_task_ptr->name, m_result_rect);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -75,7 +74,7 @@ bool asst::ProcessTaskImageAnalyzer::ocr_analyze(const std::shared_ptr<TaskInfo>
|
||||
}
|
||||
m_ocr_analyzer->set_region_of_appeared(Rect());
|
||||
m_ocr_analyzer->set_task_info(ocr_task_ptr);
|
||||
auto region_opt = m_status->get_region(ocr_task_ptr->name);
|
||||
auto region_opt = m_status->get_rect(ocr_task_ptr->name);
|
||||
if (region_opt) {
|
||||
m_ocr_analyzer->set_region_of_appeared(region_opt.value());
|
||||
}
|
||||
@@ -88,7 +87,7 @@ bool asst::ProcessTaskImageAnalyzer::ocr_analyze(const std::shared_ptr<TaskInfo>
|
||||
auto& res = ocr_result.front();
|
||||
m_result = ocr_task_ptr;
|
||||
m_result_rect = res.rect;
|
||||
m_status->set_region(ocr_task_ptr->name, m_result_rect);
|
||||
m_status->set_rect(ocr_task_ptr->name, m_result_rect);
|
||||
//m_ocr_cache.insert(m_ocr_cache.end(), ocr_result.begin(), ocr_result.end());
|
||||
Log.trace("ProcessTaskImageAnalyzer::ocr_analyze | found", res.to_string());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user