Explorar o código

Allow to keep local transform when reparenting

Tomasz Chabora %!s(int64=6) %!d(string=hai) anos
pai
achega
9dba47a743
Modificáronse 1 ficheiros con 2 adicións e 1 borrados
  1. 2 1
      editor/scene_tree_dock.cpp

+ 2 - 1
editor/scene_tree_dock.cpp

@@ -31,6 +31,7 @@
 #include "scene_tree_dock.h"
 
 #include "core/io/resource_saver.h"
+#include "core/os/input.h"
 #include "core/os/keyboard.h"
 #include "core/project_settings.h"
 
@@ -2130,7 +2131,7 @@ void SceneTreeDock::_nodes_dragged(Array p_nodes, NodePath p_to, int p_type) {
 	int to_pos = -1;
 
 	_normalize_drop(to_node, to_pos, p_type);
-	_do_reparent(to_node, to_pos, nodes, true);
+	_do_reparent(to_node, to_pos, nodes, !Input::get_singleton()->is_key_pressed(KEY_SHIFT));
 }
 
 void SceneTreeDock::_add_children_to_popup(Object *p_obj, int p_depth) {