From c28d9c6503aa2818c4fa5162488627a0674226f2 Mon Sep 17 00:00:00 2001 From: status102 Date: Sat, 9 Sep 2023 22:02:03 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96SSReopen=E5=AF=BC?= =?UTF-8?q?=E8=88=AA=E9=80=BB=E8=BE=91=EF=BC=8C=E5=85=81=E8=AE=B8=E4=BB=8E?= =?UTF-8?q?=E6=99=AE=E9=80=9A=E5=85=B3=E9=A1=B5=E9=9D=A2=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E6=97=B6=E7=9F=AD=E8=B7=AF=E5=BC=80=E5=A7=8B=E4=BA=8E=E4=B8=BB?= =?UTF-8?q?=E9=A1=B5=E7=9A=84=E5=AF=BC=E8=88=AA=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaCore/Task/Fight/SideStoryReopenTask.cpp | 16 ++++++++++++++-- src/MaaCore/Task/Fight/SideStoryReopenTask.h | 2 ++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/MaaCore/Task/Fight/SideStoryReopenTask.cpp b/src/MaaCore/Task/Fight/SideStoryReopenTask.cpp index 11102ebfd1..36838a0c62 100644 --- a/src/MaaCore/Task/Fight/SideStoryReopenTask.cpp +++ b/src/MaaCore/Task/Fight/SideStoryReopenTask.cpp @@ -65,10 +65,9 @@ bool asst::SideStoryReopenTask::_run() callback(AsstMsg::SubTaskExtraInfo, task_not_exists); return false; } - Task.get("SideStoryReopen")->next = { m_sidestory_name + "ChapterTo" + m_sidestory_name }; - if (!navigate_to_normal_page()) { + if (!at_normal_page() && !navigate_to_normal_page()) { Log.error(__FUNCTION__, "cound not navigate to normal page"); return false; } @@ -125,6 +124,19 @@ bool asst::SideStoryReopenTask::_run() } return true; } +bool asst::SideStoryReopenTask::at_normal_page() +{ + std::vector stage_name; + for (int stage_index = 1; stage_index < 10; stage_index++) { + stage_name.emplace_back(m_sidestory_name + "-" + std::to_string(stage_index)); + } + Task.get(m_sidestory_name + "@ClickStageName")->text = stage_name; + Task.get(m_sidestory_name + "@ClickedCorrectStage")->text = std::move(stage_name); + Task.get(m_sidestory_name + "@ClickedCorrectStageOrSwipe")->next = { m_sidestory_name + + "@ClickedCorrectStage" }; + + return ProcessTask(*this, { m_sidestory_name + "@ClickStageName" }).set_retry_times(0).run(); +} /// /// 从首页导航至普通关页面 /// diff --git a/src/MaaCore/Task/Fight/SideStoryReopenTask.h b/src/MaaCore/Task/Fight/SideStoryReopenTask.h index 8f3faa09cb..29bf197b7d 100644 --- a/src/MaaCore/Task/Fight/SideStoryReopenTask.h +++ b/src/MaaCore/Task/Fight/SideStoryReopenTask.h @@ -21,6 +21,8 @@ namespace asst private: virtual bool _run() override; + // 判断如果处于普通关页面,直接短路导航 + bool at_normal_page(); bool navigate_to_normal_page(); bool select_stage(int stage_index); bool activate_prts();