mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-17 10:00:44 +08:00
opt.优化一些插件的工作逻辑
This commit is contained in:
@@ -213,7 +213,8 @@ bool asst::Assistant::append_fight(const std::string& stage, int mecidine, int s
|
||||
.set_times_limit("StoneConfirm", stone)
|
||||
.set_times_limit("StartButton1", times)
|
||||
.set_times_limit("StartButton2", times);
|
||||
fight_task_ptr->regiseter_plugin<StageDropsTaskPlugin>();
|
||||
fight_task_ptr->regiseter_plugin<StageDropsTaskPlugin>()
|
||||
->set_retry_times(0);
|
||||
|
||||
std::unique_lock<std::mutex> lock(m_mutex);
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ void asst::DronesForShamareTaskPlugin::set_task_ptr(AbstractTask* ptr)
|
||||
bool asst::DronesForShamareTaskPlugin::_run()
|
||||
{
|
||||
ProcessTask shamare_task(*this, { "ShamareThumbnail" });
|
||||
shamare_task.set_retry_times(1);
|
||||
shamare_task.set_retry_times(0);
|
||||
bool has_shamare = shamare_task.run();
|
||||
if (!has_shamare) {
|
||||
return true;
|
||||
|
||||
@@ -37,7 +37,9 @@ bool asst::StageDropsTaskPlugin::_run()
|
||||
{
|
||||
set_startbutton_delay();
|
||||
|
||||
recognize_drops();
|
||||
if (!recognize_drops()) {
|
||||
return false;
|
||||
}
|
||||
if (need_exit()) {
|
||||
return false;
|
||||
}
|
||||
@@ -51,14 +53,22 @@ bool asst::StageDropsTaskPlugin::_run()
|
||||
return true;
|
||||
}
|
||||
|
||||
void asst::StageDropsTaskPlugin::recognize_drops()
|
||||
bool asst::StageDropsTaskPlugin::recognize_drops()
|
||||
{
|
||||
sleep(Task.get("PRTS")->rear_delay);
|
||||
if (need_exit()) {
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
cv::Mat image = Ctrler.get_image(true);
|
||||
m_cur_drops = json::parse(Resrc.penguin().recognize(image)).value();
|
||||
for (auto&& ex : m_cur_drops.at("exceptions").as_array()) {
|
||||
if (ex.at("type").as_string() == "ERROR"
|
||||
|| ex.at("where").as_string() == "stage"
|
||||
|| ex.at("what").as_string() == "NotFound") {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void asst::StageDropsTaskPlugin::drop_info_callback()
|
||||
|
||||
@@ -22,7 +22,7 @@ namespace asst
|
||||
private:
|
||||
virtual bool _run() override;
|
||||
|
||||
void recognize_drops();
|
||||
bool recognize_drops();
|
||||
void drop_info_callback();
|
||||
void set_startbutton_delay();
|
||||
void upload_to_penguin();
|
||||
|
||||
@@ -216,13 +216,19 @@ namespace MeoAsstGui
|
||||
|
||||
private void procSubTaskError(JObject details)
|
||||
{
|
||||
string classType = details["class"].ToString();
|
||||
string subTask = details["subtask"].ToString();
|
||||
|
||||
var mainModel = _container.Get<TaskQueueViewModel>();
|
||||
|
||||
if (classType == "class asst::AutoRecruitTask")
|
||||
switch (subTask)
|
||||
{
|
||||
mainModel.AddLog("公招识别错误,已返回", "darkred");
|
||||
case "AutoRecruitTask":
|
||||
mainModel.AddLog("公招识别错误,已返回", "darkred");
|
||||
break;
|
||||
|
||||
case "StageDropsTask":
|
||||
mainModel.AddLog("关卡识别错误", "darkred");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user