2
0
Эх сурвалжийг харах

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()`.
Andrii Doroshenko (Xrayez) 3 жил өмнө
parent
commit
6a67350910

+ 0 - 25
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>

+ 0 - 24
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);
 

+ 0 - 4
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;