Browse Source

Merge pull request #84347 from viksl/drag_and_drop_3d_selection

Select newly added nodes on drag and drop in 3D viewport
Rémi Verschelde 1 year ago
parent
commit
55dd98e4f8
1 changed files with 3 additions and 1 deletions
  1. 3 1
      editor/plugins/node_3d_editor_plugin.cpp

+ 3 - 1
editor/plugins/node_3d_editor_plugin.cpp

@@ -4356,6 +4356,7 @@ bool Node3DEditorViewport::_create_instance(Node *parent, String &path, const Po
 	undo_redo->add_do_method(instantiated_scene, "set_owner", EditorNode::get_singleton()->get_edited_scene());
 	undo_redo->add_do_reference(instantiated_scene);
 	undo_redo->add_undo_method(parent, "remove_child", instantiated_scene);
+	undo_redo->add_do_method(editor_selection, "add_node", instantiated_scene);
 
 	String new_name = parent->validate_child_name(instantiated_scene);
 	EditorDebuggerNode *ed = EditorDebuggerNode::get_singleton();
@@ -4405,7 +4406,8 @@ void Node3DEditorViewport::_perform_drop_data() {
 
 	Vector<String> error_files;
 
-	undo_redo->create_action(TTR("Create Node"));
+	undo_redo->create_action(TTR("Create Node"), UndoRedo::MERGE_DISABLE, target_node);
+	undo_redo->add_do_method(editor_selection, "clear");
 
 	for (int i = 0; i < selected_files.size(); i++) {
 		String path = selected_files[i];