Commit ad227d9a by Pierre Caye

Add a new configuration warning to CollisionShape

In the case where a ConcavePolygonShape is used as a shape for a RigidBody in another mode than static, a configuration warning will appear in the editor.
parent e2b66cac
...@@ -123,6 +123,14 @@ String CollisionShape::get_configuration_warning() const { ...@@ -123,6 +123,14 @@ String CollisionShape::get_configuration_warning() const {
return TTR("A shape must be provided for CollisionShape to function. Please create a shape resource for it."); return TTR("A shape must be provided for CollisionShape to function. Please create a shape resource for it.");
} }
if (Object::cast_to<RigidBody>(get_parent())) {
if (Object::cast_to<ConcavePolygonShape>(*shape)) {
if (Object::cast_to<RigidBody>(get_parent())->get_mode() != RigidBody::MODE_STATIC) {
return TTR("ConcavePolygonShape doesn't support RigidBody in another mode than static.");
}
}
}
return String(); return String();
} }
......
...@@ -518,6 +518,7 @@ void RigidBody::set_mode(Mode p_mode) { ...@@ -518,6 +518,7 @@ void RigidBody::set_mode(Mode p_mode) {
PhysicsServer::get_singleton()->body_set_mode(get_rid(), PhysicsServer::BODY_MODE_KINEMATIC); PhysicsServer::get_singleton()->body_set_mode(get_rid(), PhysicsServer::BODY_MODE_KINEMATIC);
} break; } break;
} }
update_configuration_warning();
} }
RigidBody::Mode RigidBody::get_mode() const { RigidBody::Mode RigidBody::get_mode() const {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment