fix: 修复部署时补偿距离过大,导致部署朝向滑动起始点超出范围

This commit is contained in:
status102
2023-11-12 22:52:59 +08:00
parent 186223c88a
commit a41a3ea009
2 changed files with 6 additions and 5 deletions

View File

@@ -321,10 +321,8 @@ bool asst::BattleHelper::deploy_oper(const std::string& name, const Point& loc,
static_cast<int>(swipe_oper_task_ptr->special_params.at(0) * scale_size.second / 720.0);
Point end_point = target_point + (direction_target * coeff);
// 经粗略测算,方向区域倾斜大概是 1/5
const static auto radian = -std::atan(0.2);
fix_swipe_out_of_limit(target_point, end_point, scale_size.first, scale_size.second,
swipe_oper_task_ptr->special_params.at(1), radian);
swipe_oper_task_ptr->special_params.at(1));
m_inst_helper.sleep(use_oper_task_ptr->post_delay);
m_inst_helper.ctrler()->swipe(target_point, end_point, swipe_oper_task_ptr->post_delay);
@@ -693,7 +691,10 @@ void asst::BattleHelper::fix_swipe_out_of_limit(Point& p1, Point& p2, int width,
};
if (auto point_distance = Point::distance(adjust, { 0, 0 }); point_distance > max_distance) {
adjust = adjust * static_cast<int>(max_distance / point_distance);
adjust = adjust = {
static_cast<int>(adjust.x * max_distance / point_distance),
static_cast<int>(adjust.y * max_distance / point_distance),
};
}
Log.info(__FUNCTION__, "swipe end_point out of limit, start:", p1, ", end:", p2, ", adjust:", adjust);