Fix Unique Resources from Inherited Scenes

Co-Authored-By: Tomasz Chabora <kobewi4e@gmail.com>
(cherry picked from commit e67a431894f95f11f481e92c5fdbf48d79506338)
This commit is contained in:
Nathan Hold
2026-02-04 18:18:48 +10:00
committed by Thaddeus Crews
parent 62e80cd894
commit fe7a8363df

View File

@@ -1408,17 +1408,17 @@ bool EditorResourcePicker::_is_uniqueness_enabled(bool p_check_recursive) {
}
Ref<Resource> parent_resource = _has_parent_resource();
EditorNode *en = EditorNode::get_singleton();
bool internal_to_scene = edited_resource->is_built_in();
bool internal_to_scene = en->is_resource_internal_to_scene(edited_resource);
List<Node *> node_list = en->get_editor_selection()->get_full_selected_node_list();
// Todo: Implement a more elegant solution for multiple selected Nodes. This should suffice for the time being.
if (node_list.size() > 1 && !p_check_recursive) {
return node_list.size() != EditorNode::get_singleton()->get_resource_count(edited_resource) || !internal_to_scene;
return node_list.size() != en->get_resource_count(edited_resource) || !internal_to_scene;
}
if (!internal_to_scene) {
if (parent_resource.is_valid() && parent_resource->is_built_in() && (!EditorNode::get_singleton()->is_resource_internal_to_scene(parent_resource) || en->get_resource_count(parent_resource) > 1)) {
return false;
if (parent_resource.is_valid() && (!en->is_resource_internal_to_scene(parent_resource) || en->get_resource_count(parent_resource) > 1)) {
return !parent_resource->is_built_in();
} else if (!p_check_recursive) {
return true;
}