@@ -1024,7 +1024,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
10241024 return ;
10251025 }
10261026
1027- if (! node->get_scene_file_path (). is_empty ()) {
1027+ if (node->is_instance ()) {
10281028 accept->set_text (TTR (" Instantiated scenes can't become root" ));
10291029 accept->popup_centered ();
10301030 return ;
@@ -1108,8 +1108,8 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
11081108 Node *node = remove_list.front ()->get ();
11091109 if (node == editor_data->get_edited_scene_root ()) {
11101110 msg = vformat (TTR (" Delete the root node \" %s\" ?" ), node->get_name ());
1111- } else if (node->get_scene_file_path (). is_empty () && node->get_child_count () > 0 ) {
1112- // Display this message only for non-instantiated scenes
1111+ } else if (! node->is_instance () && node->get_child_count () > 0 ) {
1112+ // Display this message only for non-instantiated scenes.
11131113 msg = vformat (TTR (" Delete node \" %s\" and its children?" ), node->get_name ());
11141114 } else {
11151115 msg = vformat (TTR (" Delete node \" %s\" ?" ), node->get_name ());
@@ -1166,7 +1166,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
11661166 break ;
11671167 }
11681168
1169- if (tocopy != editor_data->get_edited_scene_root () && ! tocopy->get_scene_file_path (). is_empty ()) {
1169+ if (tocopy != editor_data->get_edited_scene_root () && tocopy->is_instance ()) {
11701170 accept->set_text (TTR (" Can't save the branch of an already instantiated scene.\n To create a variation of a scene, you can make an inherited scene based on the instantiated scene using Scene > New Inherited Scene... instead." ));
11711171 accept->popup_centered ();
11721172 break ;
@@ -1278,7 +1278,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
12781278 if (e) {
12791279 Node *node = e->get ();
12801280 if (node) {
1281- bool is_external = (! node->get_scene_file_path (). is_empty () );
1281+ bool is_external = node->is_instance ( );
12821282 bool is_top_level = node->get_owner () == nullptr ;
12831283 if (!is_external || is_top_level) {
12841284 break ;
@@ -1350,7 +1350,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
13501350 break ;
13511351 }
13521352
1353- ERR_FAIL_COND (node->get_scene_file_path (). is_empty ());
1353+ ERR_FAIL_COND (! node->is_instance ());
13541354 undo_redo->create_action (TTR (" Make Local" ));
13551355 undo_redo->add_do_method (node, " set_scene_file_path" , " " );
13561356 undo_redo->add_undo_method (node, " set_scene_file_path" , node->get_scene_file_path ());
@@ -2319,7 +2319,7 @@ bool SceneTreeDock::_validate_no_instance() {
23192319 List<Node *> selection = editor_selection->get_top_selected_node_list ();
23202320
23212321 for (Node *E : selection) {
2322- if (E != edited_scene && ! E->get_scene_file_path (). is_empty ()) {
2322+ if (E != edited_scene && E->is_instance ()) {
23232323 accept->set_text (TTR (" This operation can't be done on instantiated scenes." ));
23242324 accept->popup_centered ();
23252325 return false ;
@@ -3856,7 +3856,7 @@ void SceneTreeDock::_tree_rmb(const Vector2 &p_menu_pos) {
38563856
38573857 bool can_replace = true ;
38583858 for (Node *E : selection) {
3859- if (E != edited_scene && (E->get_owner () != edited_scene || ! E->get_scene_file_path (). is_empty ())) {
3859+ if (E != edited_scene && (E->get_owner () != edited_scene || E->is_instance ())) {
38603860 can_replace = false ;
38613861 break ;
38623862 }
@@ -3919,7 +3919,7 @@ void SceneTreeDock::_tree_rmb(const Vector2 &p_menu_pos) {
39193919 }
39203920
39213921 if (selection.size () == 1 ) {
3922- bool is_external = (! selection.front ()->get ()->get_scene_file_path (). is_empty () );
3922+ bool is_external = selection.front ()->get ()->is_instance ( );
39233923 if (is_external) {
39243924 bool is_inherited = selection.front ()->get ()->get_scene_inherited_state ().is_valid ();
39253925 bool is_top_level = selection.front ()->get ()->get_owner () == nullptr ;
@@ -3956,7 +3956,7 @@ void SceneTreeDock::_tree_rmb(const Vector2 &p_menu_pos) {
39563956 }
39573957 menu->add_separator ();
39583958
3959- if (full_selection.size () == 1 && ! selection.front ()->get ()->get_scene_file_path (). is_empty ()) {
3959+ if (full_selection.size () == 1 && selection.front ()->get ()->is_instance ()) {
39603960 menu->add_icon_shortcut (get_editor_theme_icon (SNAME (" ShowInFileSystem" )), ED_GET_SHORTCUT (" scene_tree/show_in_file_system" ), TOOL_SHOW_IN_FILE_SYSTEM);
39613961 }
39623962
0 commit comments