Browse Source

Merge pull request #55167 from brennengreen/conditional-wakeup

Add GodotBody2D/GodotBody3D conditional wakeup when setting gravity_scale param
Camille Mohr-Daurat 3 years ago
parent
commit
dbef4bbd98
2 changed files with 6 additions and 0 deletions
  1. 3 0
      servers/physics_2d/godot_body_2d.cpp
  2. 3 0
      servers/physics_3d/godot_body_3d.cpp

+ 3 - 0
servers/physics_2d/godot_body_2d.cpp

@@ -185,6 +185,9 @@ void GodotBody2D::set_param(PhysicsServer2D::BodyParameter p_param, const Varian
 			_update_transform_dependent();
 		} break;
 		case PhysicsServer2D::BODY_PARAM_GRAVITY_SCALE: {
+			if (Math::is_zero_approx(gravity_scale)) {
+				wakeup();
+			}
 			gravity_scale = p_value;
 		} break;
 		case PhysicsServer2D::BODY_PARAM_LINEAR_DAMP_MODE: {

+ 3 - 0
servers/physics_3d/godot_body_3d.cpp

@@ -227,6 +227,9 @@ void GodotBody3D::set_param(PhysicsServer3D::BodyParameter p_param, const Varian
 			_update_transform_dependent();
 		} break;
 		case PhysicsServer3D::BODY_PARAM_GRAVITY_SCALE: {
+			if (Math::is_zero_approx(gravity_scale)) {
+				wakeup();
+			}
 			gravity_scale = p_value;
 		} break;
 		case PhysicsServer3D::BODY_PARAM_LINEAR_DAMP_MODE: {