summaryrefslogtreecommitdiffstats
path: root/editor/scene_tree_editor.cpp
diff options
context:
space:
mode:
authorkobewi <kobewi4e@gmail.com>2021-07-16 16:27:59 +0200
committerkobewi <kobewi4e@gmail.com>2021-07-19 16:16:50 +0200
commit5faf51a5aa5e6f4e90f5a3423783d72dc00d00b0 (patch)
tree256578eee24dbe954fccc845326b2fc95f7725c3 /editor/scene_tree_editor.cpp
parent60add98a4cff0d27c6aa2f52042555eccb86ed70 (diff)
downloadredot-engine-5faf51a5aa5e6f4e90f5a3423783d72dc00d00b0.tar.gz
Assign value to property by dropping to scene tree
Diffstat (limited to 'editor/scene_tree_editor.cpp')
-rw-r--r--editor/scene_tree_editor.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/editor/scene_tree_editor.cpp b/editor/scene_tree_editor.cpp
index 5958a09169..f2af6b4262 100644
--- a/editor/scene_tree_editor.cpp
+++ b/editor/scene_tree_editor.cpp
@@ -1037,15 +1037,24 @@ bool SceneTreeEditor::can_drop_data_fw(const Point2 &p_point, const Variant &p_d
return true;
}
+ bool scene_drop = true;
for (int i = 0; i < files.size(); i++) {
String file = files[i];
String ftype = EditorFileSystem::get_singleton()->get_file_type(file);
if (ftype != "PackedScene") {
- return false;
+ scene_drop = false;
+ break;
}
}
- tree->set_drop_mode_flags(Tree::DROP_MODE_INBETWEEN | Tree::DROP_MODE_ON_ITEM); //so it works..
+ if (scene_drop) {
+ tree->set_drop_mode_flags(Tree::DROP_MODE_INBETWEEN | Tree::DROP_MODE_ON_ITEM);
+ } else {
+ if (files.size() > 1) {
+ return false;
+ }
+ tree->set_drop_mode_flags(Tree::DROP_MODE_ON_ITEM);
+ }
return true;
}