Prechádzať zdrojové kódy

Merge pull request #42493 from akien-mga/configuration-warnings-fixup

Better validate CollisionShape3D config. warning after #38743
Rémi Verschelde 5 rokov pred
rodič
commit
6189ff8608

+ 2 - 1
scene/2d/light_2d.cpp

@@ -313,8 +313,9 @@ String Light2D::get_configuration_warning() const {
 	String warning = Node2D::get_configuration_warning();
 
 	if (!texture.is_valid()) {
-		if (!warning.empty())
+		if (!warning.empty()) {
 			warning += "\n\n";
+		}
 		warning += TTR("A texture with the shape of the light must be supplied to the \"Texture\" property.");
 	}
 

+ 7 - 8
scene/3d/collision_shape_3d.cpp

@@ -140,15 +140,14 @@ String CollisionShape3D::get_configuration_warning() const {
 		warning += TTR("A shape must be provided for CollisionShape3D to function. Please create a shape resource for it.");
 	}
 
-	if (Object::cast_to<RigidBody3D>(get_parent())) {
-		if (Object::cast_to<ConcavePolygonShape3D>(*shape)) {
-			if (Object::cast_to<RigidBody3D>(get_parent())->get_mode() != RigidBody3D::MODE_STATIC) {
-				if (!warning.empty()) {
-					warning += "\n\n";
-				}
-				warning += TTR("ConcavePolygonShape3D doesn't support RigidBody3D in another mode than static.");
-			}
+	if (shape.is_valid() &&
+			Object::cast_to<RigidBody3D>(get_parent()) &&
+			Object::cast_to<ConcavePolygonShape3D>(*shape) &&
+			Object::cast_to<RigidBody3D>(get_parent())->get_mode() != RigidBody3D::MODE_STATIC) {
+		if (!warning.empty()) {
+			warning += "\n\n";
 		}
+		warning += TTR("ConcavePolygonShape3D doesn't support RigidBody3D in another mode than static.");
 	}
 
 	return warning;

+ 3 - 1
scene/3d/navigation_region_3d.cpp

@@ -197,10 +197,12 @@ String NavigationRegion3D::get_configuration_warning() const {
 		}
 		warning += TTR("A NavigationMesh resource must be set or created for this node to work.");
 	}
+
 	const Node3D *c = this;
 	while (c) {
-		if (Object::cast_to<Navigation3D>(c))
+		if (Object::cast_to<Navigation3D>(c)) {
 			return warning;
+		}
 
 		c = Object::cast_to<Node3D>(c->get_parent());
 	}