1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-08 12:40:44 +00:00

Improve error reporting in the Particles emission point creation dialog

- Display an error message if the selected node doesn't
  extend from Spatial
- Display the selected node name in error messages to provide
  additional context when relevant
- Clarify error messages
- Use the standard editor warning dialog
This commit is contained in:
Hugo Locurcio
2019-08-15 15:54:12 +02:00
parent dd31974a88
commit 63d45136dc
2 changed files with 10 additions and 13 deletions

View File

@@ -55,8 +55,7 @@ bool ParticlesEditorBase::_generate(PoolVector<Vector3> &points, PoolVector<Vect
if (!triangle_area_map.size() || area_accum == 0) { if (!triangle_area_map.size() || area_accum == 0) {
err_dialog->set_text(TTR("Faces contain no area!")); EditorNode::get_singleton()->show_warning(TTR("The geometry's faces don't contain any area."));
err_dialog->popup_centered_minsize();
return false; return false;
} }
@@ -90,8 +89,7 @@ bool ParticlesEditorBase::_generate(PoolVector<Vector3> &points, PoolVector<Vect
if (gcount == 0) { if (gcount == 0) {
err_dialog->set_text(TTR("No faces!")); EditorNode::get_singleton()->show_warning(TTR("The geometry doesn't contain any faces."));
err_dialog->popup_centered_minsize();
return false; return false;
} }
@@ -169,11 +167,16 @@ void ParticlesEditorBase::_node_selected(const NodePath &p_path) {
if (!sel) if (!sel)
return; return;
if (!sel->is_class("Spatial")) {
EditorNode::get_singleton()->show_warning(vformat(TTR("\"%s\" doesn't inherit from Spatial."), sel->get_name()));
return;
}
VisualInstance *vi = Object::cast_to<VisualInstance>(sel); VisualInstance *vi = Object::cast_to<VisualInstance>(sel);
if (!vi) { if (!vi) {
err_dialog->set_text(TTR("Node does not contain geometry.")); EditorNode::get_singleton()->show_warning(vformat(TTR("\"%s\" doesn't contain geometry."), sel->get_name()));
err_dialog->popup_centered_minsize();
return; return;
} }
@@ -181,8 +184,7 @@ void ParticlesEditorBase::_node_selected(const NodePath &p_path) {
if (geometry.size() == 0) { if (geometry.size() == 0) {
err_dialog->set_text(TTR("Node does not contain geometry (faces).")); EditorNode::get_singleton()->show_warning(vformat(TTR("\"%s\" doesn't contain face geometry."), sel->get_name()));
err_dialog->popup_centered_minsize();
return; return;
} }
@@ -231,9 +233,6 @@ ParticlesEditorBase::ParticlesEditorBase() {
emission_dialog->get_ok()->set_text(TTR("Create")); emission_dialog->get_ok()->set_text(TTR("Create"));
emission_dialog->connect("confirmed", this, "_generate_emission_points"); emission_dialog->connect("confirmed", this, "_generate_emission_points");
err_dialog = memnew(ConfirmationDialog);
add_child(err_dialog);
emission_file_dialog = memnew(EditorFileDialog); emission_file_dialog = memnew(EditorFileDialog);
add_child(emission_file_dialog); add_child(emission_file_dialog);
emission_file_dialog->connect("file_selected", this, "_resource_seleted"); emission_file_dialog->connect("file_selected", this, "_resource_seleted");

View File

@@ -49,8 +49,6 @@ protected:
EditorFileDialog *emission_file_dialog; EditorFileDialog *emission_file_dialog;
SceneTreeDialog *emission_tree_dialog; SceneTreeDialog *emission_tree_dialog;
ConfirmationDialog *err_dialog;
ConfirmationDialog *emission_dialog; ConfirmationDialog *emission_dialog;
SpinBox *emission_amount; SpinBox *emission_amount;
OptionButton *emission_fill; OptionButton *emission_fill;