1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-09 12:50:35 +00:00

Add a root Node3D automatically if absent when adding preview sun and sky

This makes for a smoother prototyping process compared to displaying
an error message.
This commit is contained in:
Hugo Locurcio
2021-07-07 01:59:46 +02:00
parent 506daf6d5d
commit 99909cb4f7
3 changed files with 17 additions and 10 deletions

View File

@@ -6223,8 +6223,9 @@ void Node3DEditor::_add_sun_to_scene() {
Node *base = get_tree()->get_edited_scene_root();
if (!base) {
EditorNode::get_singleton()->show_warning(TTR("A root node is needed for this operation"));
return;
// Create a root node so we can add child nodes to it.
EditorNode::get_singleton()->get_scene_tree_dock()->add_root_node(memnew(Node3D));
base = get_tree()->get_edited_scene_root();
}
ERR_FAIL_COND(!base);
Node *new_sun = preview_sun->duplicate();
@@ -6241,8 +6242,9 @@ void Node3DEditor::_add_environment_to_scene() {
Node *base = get_tree()->get_edited_scene_root();
if (!base) {
EditorNode::get_singleton()->show_warning(TTR("A root node is needed for this operation"));
return;
// Create a root node so we can add child nodes to it.
EditorNode::get_singleton()->get_scene_tree_dock()->add_root_node(memnew(Node3D));
base = get_tree()->get_edited_scene_root();
}
ERR_FAIL_COND(!base);