From 341f5b4acd30f722d82bdda939d2e02c4c1190dc Mon Sep 17 00:00:00 2001 From: Weiyou Wang <44151844+Alan-Charred@users.noreply.github.com> Date: Wed, 16 Apr 2025 22:51:55 +1000 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=85=88=E5=8F=96=E6=B6=88=E6=9A=82?= =?UTF-8?q?=E5=81=9C=E5=86=8D=E5=8F=96=E6=B6=88=E9=80=89=E6=8B=A9=20(#1236?= =?UTF-8?q?9)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: 先取消暂停再取消选择 * fix: 换个思路 * fix: 重新识别头像位置 * fix: 删除多余的判断 * fix: 保险起见加回来点东西 * fix: 第二遍点击后更新 name_image --- src/MaaCore/Task/BattleHelper.cpp | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/MaaCore/Task/BattleHelper.cpp b/src/MaaCore/Task/BattleHelper.cpp index 131411adb3..677b907ab5 100644 --- a/src/MaaCore/Task/BattleHelper.cpp +++ b/src/MaaCore/Task/BattleHelper.cpp @@ -197,16 +197,26 @@ bool asst::BattleHelper::update_deployment_( // 这时候即使名字不合法也只能凑合用了,但是为空还是不行的 if (name.empty()) { Log.error("name is empty"); - continue; } - set_oper_name(oper, name); - remove_cooling_from_battlefield(oper); + else { + set_oper_name(oper, name); + remove_cooling_from_battlefield(oper); - m_cur_deployment_opers[oper.index] = oper; - AvatarCache.set_avatar(name, oper.role, oper.avatar); - } - if (!unknown_opers.empty()) { - cancel_oper_selection(); + m_cur_deployment_opers[oper.index] = oper; + AvatarCache.set_avatar(name, oper.role, oper.avatar); + } + + // 再点一下部署栏头像取消选择 + // 注意,点完部署区的干员之后,他的头像会放大;干员的位置都被挤开了,不在原来的位置了 + // 所以要重新识别一下位置 + Matcher re_matcher(name_image); + re_matcher.set_task_info("BattleAvatarReMatch"); + re_matcher.set_templ(oper.avatar); + if (re_matcher.analyze()) { + oper_rect = re_matcher.get_result().rect; + } + click_oper_on_deployment(oper_rect); + name_image = m_inst_helper.ctrler()->get_image(); } }