diff options
author | Andrii Doroshenko (Xrayez) <xrayez@gmail.com> | 2021-11-12 21:30:35 +0200 |
---|---|---|
committer | Andrii Doroshenko (Xrayez) <xrayez@gmail.com> | 2021-11-12 21:30:35 +0200 |
commit | 6a673509106bfe7e9c7978d392d8cde3c1b65dc8 (patch) | |
tree | 94a92c809e5d5e16af1f4989050a720eb0479cd3 | |
parent | f979d5977ac77bdc47c1d7865a221a46991e30ab (diff) | |
download | redot-engine-6a673509106bfe7e9c7978d392d8cde3c1b65dc8.tar.gz |
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()`.
-rw-r--r-- | doc/classes/ShapeCast2D.xml | 25 | ||||
-rw-r--r-- | scene/2d/shape_cast_2d.cpp | 24 | ||||
-rw-r--r-- | scene/2d/shape_cast_2d.h | 4 |
3 files changed, 0 insertions, 53 deletions
diff --git a/doc/classes/ShapeCast2D.xml b/doc/classes/ShapeCast2D.xml index e202d058b1..74ebafe069 100644 --- a/doc/classes/ShapeCast2D.xml +++ b/doc/classes/ShapeCast2D.xml @@ -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> diff --git a/scene/2d/shape_cast_2d.cpp b/scene/2d/shape_cast_2d.cpp index 84a32d1fd3..50b44eb4ef 100644 --- a/scene/2d/shape_cast_2d.cpp +++ b/scene/2d/shape_cast_2d.cpp @@ -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); diff --git a/scene/2d/shape_cast_2d.h b/scene/2d/shape_cast_2d.h index 0e19e9ad3d..fca6b46155 100644 --- a/scene/2d/shape_cast_2d.h +++ b/scene/2d/shape_cast_2d.h @@ -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; |