FixupObjectReferences Class
Namespace: Stride.Core.Assets.SerializersAssembly: Stride.Core.Assets.dll
A static class that can be used to fix up object references.
public static class FixupObjectReferences
              | Name | Description | |
|---|---|---|
| Methods | ||
| CollectReferenceableObjects(Object, YamlAssetMetadata<Guid>, Boolean, ILogger) | ||
| FixupReferences(Object, YamlAssetMetadata<Guid>, Dictionary<Guid, IIdentifiable>, Boolean, ILogger) | ||
| FixupReferences(Object, YamlAssetMetadata<Guid>, Dictionary<Guid, IIdentifiable>, Boolean, Action<MemberPath, Object, Object>, ILogger) | ||
| RunFixupPass(Object, YamlAssetMetadata<Guid>, Boolean, Boolean, ILogger) | Fix up references represented by the   | 
                          |
Methods
CollectReferenceableObjects(Object, YamlAssetMetadata<Guid>, Boolean, ILogger)
public static Dictionary<Guid, IIdentifiable> CollectReferenceableObjects(object root, YamlAssetMetadata<Guid> objectReferences, bool throwOnDuplicateIds, ILogger logger = null)
              Parameters
| Type | Name | Description | 
|---|---|---|
| System.Object | root | |
| YamlAssetMetadata<System.Guid> | objectReferences | |
| System.Boolean | throwOnDuplicateIds | |
| ILogger | logger | 
Returns
| Type | Description | 
|---|---|
| System.Collections.Generic.Dictionary<System.Guid, IIdentifiable> | 
FixupReferences(Object, YamlAssetMetadata<Guid>, Dictionary<Guid, IIdentifiable>, Boolean, ILogger)
public static void FixupReferences(object root, YamlAssetMetadata<Guid> objectReferences, Dictionary<Guid, IIdentifiable> referenceTargets, bool clearMissingReferences, ILogger logger = null)
              Parameters
| Type | Name | Description | 
|---|---|---|
| System.Object | root | |
| YamlAssetMetadata<System.Guid> | objectReferences | |
| System.Collections.Generic.Dictionary<System.Guid, IIdentifiable> | referenceTargets | |
| System.Boolean | clearMissingReferences | |
| ILogger | logger | 
FixupReferences(Object, YamlAssetMetadata<Guid>, Dictionary<Guid, IIdentifiable>, Boolean, Action<MemberPath, Object, Object>, ILogger)
public static void FixupReferences(object root, YamlAssetMetadata<Guid> objectReferences, Dictionary<Guid, IIdentifiable> referenceTargets, bool clearMissingReferences, Action<MemberPath, object, object> applyAction, ILogger logger = null)
              Parameters
| Type | Name | Description | 
|---|---|---|
| System.Object | root | |
| YamlAssetMetadata<System.Guid> | objectReferences | |
| System.Collections.Generic.Dictionary<System.Guid, IIdentifiable> | referenceTargets | |
| System.Boolean | clearMissingReferences | |
| System.Action<Stride.Core.Reflection.MemberPath, System.Object, System.Object> | applyAction | |
| ILogger | logger | 
RunFixupPass(Object, YamlAssetMetadata<Guid>, Boolean, Boolean, ILogger)
Fix up references represented by the objectReferences dictionary into the root object, by visiting the object
to find all IIdentifiable instances it references, and modify the references described by objectReferences to point
to the proper identifiable object matching the same System.Guid.
public static void RunFixupPass(object root, YamlAssetMetadata<Guid> objectReferences, bool clearBrokenObjectReferences, bool throwOnDuplicateIds, ILogger logger = null)
              Parameters
| Type | Name | Description | 
|---|---|---|
| System.Object | root | The root object to fix up.  | 
                  
| YamlAssetMetadata<System.Guid> | objectReferences | The path to each object reference and the System.Guid of the tar  | 
                  
| System.Boolean | clearBrokenObjectReferences | If true, any object refernce that cannot be resolved will be reset to null.  | 
                  
| System.Boolean | throwOnDuplicateIds | If true, an exception will be thrown if two IIdentifiable  | 
                  
| ILogger | logger | An optional logger.  |