Overhaul Resource::duplicate_for_local_scene()
- Serves as a first step for future refactors. - Code is simpler. - Algorithm is more efficient: instead of two passes (dumb copy + resolve copies), it's single-pass. - Now obeys `PROPERTY_USAGE_NEVER_DUPLICATE`. - Now handles deep self-references (the resource to be duplicated being referenced somewhere deep).
This commit is contained in:
+1
-1
@@ -83,7 +83,7 @@ private:
|
||||
|
||||
SelfList<Resource> remapped_list;
|
||||
|
||||
void _dupe_sub_resources(Variant &r_variant, Node *p_for_scene, HashMap<Ref<Resource>, Ref<Resource>> &p_remap_cache);
|
||||
Variant _duplicate_recursive_for_local_scene(const Variant &p_variant, Node *p_for_scene, HashMap<Ref<Resource>, Ref<Resource>> &p_remap_cache);
|
||||
void _find_sub_resources(const Variant &p_variant, HashSet<Ref<Resource>> &p_resources_found);
|
||||
|
||||
protected:
|
||||
|
||||
Reference in New Issue
Block a user