From 2b82997052ad0c37cdae53ecaf2ca9dab85b5244 Mon Sep 17 00:00:00 2001 From: Benjamin Date: Tue, 24 Oct 2017 20:54:40 +0200 Subject: [PATCH] Use node name as default filename when attaching script. When attaching a script to a node that isn't saved to a scene file, use its name as default filename. If the edited scene's root node *has* been saved to a file, use that directory. --- editor/scene_tree_dock.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index f3e59932c4..7438c7671e 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -319,6 +319,14 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { editor->push_item(existing.ptr()); else { String path = selected->get_filename(); + if (path == "") { + String root_path = editor_data->get_edited_scene_root()->get_filename(); + if (root_path == "") { + path = "res://" + selected->get_name(); + } else { + path = root_path.get_base_dir() + "/" + selected->get_name(); + } + } script_create_dialog->config(selected->get_class(), path); script_create_dialog->popup_centered(); }