Remove get_closest_* methods from ShapeCast2D

The physics API cannot provide needed functionality to ensure the correct behavior, which might lead to confusion (see `rest_info()`).

However `get_closest_collision_safe/unsafe_fraction()` methods are not removed, because they return correct result from `cast_motion()`.
This commit is contained in:
Andrii Doroshenko (Xrayez) 2021-11-12 21:30:35 +02:00
parent f979d5977a
commit 6a67350910
3 changed files with 0 additions and 53 deletions

View file

@ -39,31 +39,6 @@
[b]Note:[/b] [code]enabled == true[/code] is not required for this to work.
</description>
</method>
<method name="get_closest_collider" qualifiers="const">
<return type="Object" />
<description>
Returns the first object that the shape intersects, or [code]null[/code] if no object is intersecting the shape (i.e. [method is_colliding] returns [code]false[/code]).
</description>
</method>
<method name="get_closest_collider_shape" qualifiers="const">
<return type="int" />
<description>
Returns the shape ID of the first object that the shape intersects, or [code]0[/code] if no object is intersecting the shape (i.e. [method is_colliding] returns [code]false[/code]).
</description>
</method>
<method name="get_closest_collision_normal" qualifiers="const">
<return type="Vector2" />
<description>
Returns the normal of the closest intersecting object's shape at the collision point.
</description>
</method>
<method name="get_closest_collision_point" qualifiers="const">
<return type="Vector2" />
<description>
Returns the collision point at which the shape intersects the closest object.
[b]Note:[/b] this point is in the [b]global[/b] coordinate system.
</description>
</method>
<method name="get_closest_collision_safe_fraction" qualifiers="const">
<return type="float" />
<description>

View file

@ -130,26 +130,6 @@ real_t ShapeCast2D::get_closest_collision_unsafe_fraction() const {
return collision_unsafe_fraction;
}
Object *ShapeCast2D::get_closest_collider() const {
ERR_FAIL_COND_V_MSG(result.is_empty(), nullptr, "Shape cast has not collided with anything yet.");
return ObjectDB::get_instance(result[0].collider_id);
}
int ShapeCast2D::get_closest_collider_shape() const {
ERR_FAIL_COND_V_MSG(result.is_empty(), -1, "Shape cast has not collided with anything yet.");
return result[0].shape;
}
Vector2 ShapeCast2D::get_closest_collision_point() const {
ERR_FAIL_COND_V_MSG(result.is_empty(), Vector2(), "Shape cast has not collided with anything yet.");
return result[0].point;
}
Vector2 ShapeCast2D::get_closest_collision_normal() const {
ERR_FAIL_COND_V_MSG(result.is_empty(), Vector2(), "Shape cast has not collided with anything yet.");
return result[0].normal;
}
void ShapeCast2D::set_enabled(bool p_enabled) {
enabled = p_enabled;
update();
@ -437,10 +417,6 @@ void ShapeCast2D::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_collision_point", "index"), &ShapeCast2D::get_collision_point);
ClassDB::bind_method(D_METHOD("get_collision_normal", "index"), &ShapeCast2D::get_collision_normal);
ClassDB::bind_method(D_METHOD("get_closest_collider"), &ShapeCast2D::get_closest_collider);
ClassDB::bind_method(D_METHOD("get_closest_collider_shape"), &ShapeCast2D::get_closest_collider_shape);
ClassDB::bind_method(D_METHOD("get_closest_collision_point"), &ShapeCast2D::get_closest_collision_point);
ClassDB::bind_method(D_METHOD("get_closest_collision_normal"), &ShapeCast2D::get_closest_collision_normal);
ClassDB::bind_method(D_METHOD("get_closest_collision_safe_fraction"), &ShapeCast2D::get_closest_collision_safe_fraction);
ClassDB::bind_method(D_METHOD("get_closest_collision_unsafe_fraction"), &ShapeCast2D::get_closest_collision_unsafe_fraction);

View file

@ -105,10 +105,6 @@ public:
Vector2 get_collision_point(int p_idx) const;
Vector2 get_collision_normal(int p_idx) const;
Object *get_closest_collider() const;
int get_closest_collider_shape() const;
Vector2 get_closest_collision_point() const;
Vector2 get_closest_collision_normal() const;
real_t get_closest_collision_safe_fraction() const;
real_t get_closest_collision_unsafe_fraction() const;