@@ -1027,7 +1027,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
10271027 return ;
10281028 }
10291029
1030- if (! node->get_scene_file_path (). is_empty ()) {
1030+ if (node->is_instance ()) {
10311031 accept->set_text (TTR (" Instantiated scenes can't become root" ));
10321032 accept->popup_centered ();
10331033 return ;
@@ -1111,8 +1111,8 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
11111111 Node *node = remove_list.front ()->get ();
11121112 if (node == editor_data->get_edited_scene_root ()) {
11131113 msg = vformat (TTR (" Delete the root node \" %s\" ?" ), node->get_name ());
1114- } else if (node->get_scene_file_path (). is_empty () && node->get_child_count () > 0 ) {
1115- // Display this message only for non-instantiated scenes
1114+ } else if (! node->is_instance () && node->get_child_count () > 0 ) {
1115+ // Display this message only for non-instantiated scenes.
11161116 msg = vformat (TTR (" Delete node \" %s\" and its children?" ), node->get_name ());
11171117 } else {
11181118 msg = vformat (TTR (" Delete node \" %s\" ?" ), node->get_name ());
@@ -1169,7 +1169,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
11691169 break ;
11701170 }
11711171
1172- if (tocopy != editor_data->get_edited_scene_root () && ! tocopy->get_scene_file_path (). is_empty ()) {
1172+ if (tocopy != editor_data->get_edited_scene_root () && tocopy->is_instance ()) {
11731173 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." ));
11741174 accept->popup_centered ();
11751175 break ;
@@ -1281,7 +1281,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
12811281 if (e) {
12821282 Node *node = e->get ();
12831283 if (node) {
1284- bool is_external = (! node->get_scene_file_path (). is_empty () );
1284+ bool is_external = node->is_instance ( );
12851285 bool is_top_level = node->get_owner () == nullptr ;
12861286 if (!is_external || is_top_level) {
12871287 break ;
@@ -1353,7 +1353,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
13531353 break ;
13541354 }
13551355
1356- ERR_FAIL_COND (node->get_scene_file_path (). is_empty ());
1356+ ERR_FAIL_COND (! node->is_instance ());
13571357 undo_redo->create_action (TTR (" Make Local" ));
13581358 undo_redo->add_do_method (node, " set_scene_file_path" , " " );
13591359 undo_redo->add_undo_method (node, " set_scene_file_path" , node->get_scene_file_path ());
@@ -2327,7 +2327,7 @@ bool SceneTreeDock::_validate_no_instance() {
23272327 const List<Node *> &selection = editor_selection->get_top_selected_node_list ();
23282328
23292329 for (Node *E : selection) {
2330- if (E != edited_scene && ! E->get_scene_file_path (). is_empty ()) {
2330+ if (E != edited_scene && E->is_instance ()) {
23312331 accept->set_text (TTR (" This operation can't be done on instantiated scenes." ));
23322332 accept->popup_centered ();
23332333 return false ;
@@ -3894,7 +3894,7 @@ void SceneTreeDock::_tree_rmb(const Vector2 &p_menu_pos) {
38943894
38953895 bool can_replace = true ;
38963896 for (Node *E : selection) {
3897- if (E != edited_scene && (E->get_owner () != edited_scene || ! E->get_scene_file_path (). is_empty ())) {
3897+ if (E != edited_scene && (E->get_owner () != edited_scene || E->is_instance ())) {
38983898 can_replace = false ;
38993899 break ;
39003900 }
@@ -3957,7 +3957,7 @@ void SceneTreeDock::_tree_rmb(const Vector2 &p_menu_pos) {
39573957 }
39583958
39593959 if (selection.size () == 1 ) {
3960- bool is_external = (! selection.front ()->get ()->get_scene_file_path (). is_empty () );
3960+ bool is_external = selection.front ()->get ()->is_instance ( );
39613961 if (is_external) {
39623962 bool is_inherited = selection.front ()->get ()->get_scene_inherited_state ().is_valid ();
39633963 bool is_top_level = selection.front ()->get ()->get_owner () == nullptr ;
@@ -3994,7 +3994,7 @@ void SceneTreeDock::_tree_rmb(const Vector2 &p_menu_pos) {
39943994 }
39953995 menu->add_separator ();
39963996
3997- if (full_selection.size () == 1 && ! selection.front ()->get ()->get_scene_file_path (). is_empty ()) {
3997+ if (full_selection.size () == 1 && selection.front ()->get ()->is_instance ()) {
39983998 menu->add_icon_shortcut (get_editor_theme_icon (SNAME (" ShowInFileSystem" )), ED_GET_SHORTCUT (" scene_tree/show_in_file_system" ), TOOL_SHOW_IN_FILE_SYSTEM);
39993999 }
40004000
0 commit comments