Before I forget, add warnings on areas without children (should not break anything).

Seen too many users misunderstanding the edit rect is the shape.
This commit is contained in:
Juan Linietsky 2018-01-18 14:30:07 -03:00
parent b3c66de27f
commit cc8dfcc9c0
4 changed files with 32 additions and 0 deletions

View file

@ -328,6 +328,20 @@ void CollisionObject2D::_update_pickable() {
Physics2DServer::get_singleton()->body_set_pickable(rid, pickable);
}
String CollisionObject2D::get_configuration_warning() const {
String warning = Node2D::get_configuration_warning();
if (shapes.empty()) {
if (warning == String()) {
warning += "\n";
}
warning += TTR("This node has no children shapes, so it can't interact with the space.\nConsider adding CollisionShape2D or CollisionPolygon2D children nodes to define it's shape.");
}
return warning;
}
void CollisionObject2D::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_rid"), &CollisionObject2D::get_rid);

View file

@ -107,6 +107,8 @@ public:
void set_pickable(bool p_enabled);
bool is_pickable() const;
String get_configuration_warning() const;
_FORCE_INLINE_ RID get_rid() const { return rid; }
CollisionObject2D();

View file

@ -365,6 +365,20 @@ bool CollisionObject::get_capture_input_on_drag() const {
return capture_input_on_drag;
}
String CollisionObject::get_configuration_warning() const {
String warning = Spatial::get_configuration_warning();
if (shapes.empty()) {
if (warning == String()) {
warning += "\n";
}
warning += TTR("This node has no children shapes, so it can't interact with the space.\nConsider adding CollisionShape or CollisionPolygon children nodes to define it's shape.");
}
return warning;
}
CollisionObject::CollisionObject() {
capture_input_on_drag = false;

View file

@ -109,6 +109,8 @@ public:
_FORCE_INLINE_ RID get_rid() const { return rid; }
virtual String get_configuration_warning() const;
CollisionObject();
~CollisionObject();
};