bool ConcavePolygonShape2D::_edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const { PoolVector<Vector2> s = get_segments(); int len = s.size(); if (len == 0 || (len % 2) == 1) return false; PoolVector<Vector2>::Read r = s.read(); for (int i = 0; i < len; i += 2) { Vector2 closest = Geometry::get_closest_point_to_segment_2d(p_point, &r[i]); if (p_point.distance_to(closest) < p_tolerance) return true; } return false; }