AssetObjectSerializerBackend Class
              
              
              Namespace: Stride.Core.Yaml
              Assembly: Stride.Core.Assets.dll
              
              
              Internal class used when serializing/deserializing an object.
 
              
              
              
                 System.Object →  Stride.Core.Yaml.Serialization.Serializers.DefaultObjectSerializerBackend →  
                AssetObjectSerializerBackend
              
              
                 Derived from AssetObjectSerializerBackend: 
              
              
              
              
              
                public class AssetObjectSerializerBackend : DefaultObjectSerializerBackend, IObjectSerializerBackend
               
              
              
              
              
              
                
                  
                    | Name | 
                    Description | 
                    
                        
                  
                      
                         
              
                      | Constructors
               | 
              
                          
                          | 
                              
                           | 
                          AssetObjectSerializerBackend(ITypeDescriptorFactory) | 
                           | 
                          
              
                     
              
                      | Fields
               | 
              
                          
                          | 
                              
                           | 
                          ObjectReferencesKey | 
                           | 
                          
                          
                          | 
                              
                           | 
                          OverrideDictionaryKey | 
                           | 
                          
              
                     
              
                      | Methods
               | 
              
                          
                          | 
                              
                           | 
                          GetCurrentPath(ref ObjectContext, Boolean) | 
                           | 
                          
                          
                          | 
                              
                           | 
                          ReadCollectionItem(ref ObjectContext, Object, Type, Int32) | 
                           | 
                          
                          
                          | 
                              
                           | 
                          ReadDictionaryKey(ref ObjectContext, Type) | 
                           | 
                          
                          
                          | 
                              
                           | 
                          ReadDictionaryValue(ref ObjectContext, Type, Object) | 
                           | 
                          
                          
                          | 
                              
                           | 
                          ReadMemberName(ref ObjectContext, String, out Boolean) | 
                           | 
                          
                          
                          | 
                              
                           | 
                          ReadMemberValue(ref ObjectContext, IMemberDescriptor, Object, Type) | 
                           | 
                          
                          
                          | 
                              
                           | 
                          ShouldSerialize(IMemberDescriptor, ref ObjectContext) | 
                           | 
                          
                          
                          | 
                              
                           | 
                          WriteCollectionItem(ref ObjectContext, Object, Type, Int32) | 
                           | 
                          
                          
                          | 
                              
                           | 
                          WriteDictionaryKey(ref ObjectContext, Object, Type) | 
                           | 
                          
                          
                          | 
                              
                           | 
                          WriteDictionaryValue(ref ObjectContext, Object, Object, Type) | 
                           | 
                          
                          
                          | 
                              
                           | 
                          WriteMemberName(ref ObjectContext, IMemberDescriptor, String) | 
                           | 
                          
                          
                          | 
                              
                           | 
                          WriteMemberValue(ref ObjectContext, IMemberDescriptor, Object, Type) | 
                           | 
                          
              
              
                  
                
  
              
                     
              
                
                  |
                  Improve this Doc
                
                
                  View Source
                
              
              
                Constructors
              
                
              
              
              
              
              
              AssetObjectSerializerBackend(ITypeDescriptorFactory)
              
              
              
              
              
                public AssetObjectSerializerBackend(ITypeDescriptorFactory typeDescriptorFactory)
               
              
              Parameters
              
                
                  
                    | Type | 
                    Name | 
                    Description | 
                  
                
                
                  
                    | Stride.Core.Reflection.ITypeDescriptorFactory | 
                    typeDescriptorFactory | 
                     | 
                  
                
              
                     
              
                
                  |
                  Improve this Doc
                
                
                  View Source
                
              
              
                Fields
              
                
              
              
              
              
              ObjectReferencesKey
              
              
              
              
              
                public static readonly PropertyKey<YamlAssetMetadata<Guid>> ObjectReferencesKey
               
              
              Field Value
              
              
              
              
              
              OverrideDictionaryKey
              
              
              
              
              
                public static readonly PropertyKey<YamlAssetMetadata<OverrideType>> OverrideDictionaryKey
               
              
              Field Value
              
                     
              
                
                  |
                  Improve this Doc
                
                
                  View Source
                
              
              
                Methods
              
                
              
              
              
              
              
              GetCurrentPath(ref ObjectContext, Boolean)
              
              
              
              
              
                public static YamlAssetPath GetCurrentPath(ref ObjectContext objectContext, bool clone)
               
              
              Parameters
              
                
                  
                    | Type | 
                    Name | 
                    Description | 
                  
                
                
                  
                    | Stride.Core.Yaml.Serialization.ObjectContext | 
                    objectContext | 
                     | 
                  
                  
                    | System.Boolean | 
                    clone | 
                     | 
                  
                
              
              Returns
              
              
              
              
              
              
              ReadCollectionItem(ref ObjectContext, Object, Type, Int32)
              
              
              
              
              
                public override object ReadCollectionItem(ref ObjectContext objectContext, object value, Type itemType, int index)
               
              
              Parameters
              
                
                  
                    | Type | 
                    Name | 
                    Description | 
                  
                
                
                  
                    | Stride.Core.Yaml.Serialization.ObjectContext | 
                    objectContext | 
                     | 
                  
                  
                    | System.Object | 
                    value | 
                     | 
                  
                  
                    | System.Type | 
                    itemType | 
                     | 
                  
                  
                    | System.Int32 | 
                    index | 
                     | 
                  
                
              
              Returns
              
                
                  
                    | Type | 
                    Description | 
                  
                
                
                  
                    | System.Object | 
                     | 
                  
                
              
              Overrides
              Stride.Core.Yaml.Serialization.Serializers.DefaultObjectSerializerBackend.ReadCollectionItem(Stride.Core.Yaml.Serialization.ObjectContext, System.Object, System.Type, System.Int32)
              
              
              
              
              
              ReadDictionaryKey(ref ObjectContext, Type)
              
              
              
              
              
                public override object ReadDictionaryKey(ref ObjectContext objectContext, Type keyType)
               
              
              Parameters
              
                
                  
                    | Type | 
                    Name | 
                    Description | 
                  
                
                
                  
                    | Stride.Core.Yaml.Serialization.ObjectContext | 
                    objectContext | 
                     | 
                  
                  
                    | System.Type | 
                    keyType | 
                     | 
                  
                
              
              Returns
              
                
                  
                    | Type | 
                    Description | 
                  
                
                
                  
                    | System.Object | 
                     | 
                  
                
              
              Overrides
              Stride.Core.Yaml.Serialization.Serializers.DefaultObjectSerializerBackend.ReadDictionaryKey(Stride.Core.Yaml.Serialization.ObjectContext, System.Type)
              
              
              
              
              
              ReadDictionaryValue(ref ObjectContext, Type, Object)
              
              
              
              
              
                public override object ReadDictionaryValue(ref ObjectContext objectContext, Type valueType, object key)
               
              
              Parameters
              
                
                  
                    | Type | 
                    Name | 
                    Description | 
                  
                
                
                  
                    | Stride.Core.Yaml.Serialization.ObjectContext | 
                    objectContext | 
                     | 
                  
                  
                    | System.Type | 
                    valueType | 
                     | 
                  
                  
                    | System.Object | 
                    key | 
                     | 
                  
                
              
              Returns
              
                
                  
                    | Type | 
                    Description | 
                  
                
                
                  
                    | System.Object | 
                     | 
                  
                
              
              Overrides
              Stride.Core.Yaml.Serialization.Serializers.DefaultObjectSerializerBackend.ReadDictionaryValue(Stride.Core.Yaml.Serialization.ObjectContext, System.Type, System.Object)
              
              
              
              
              
              ReadMemberName(ref ObjectContext, String, out Boolean)
              
              
              
              
              
                public override string ReadMemberName(ref ObjectContext objectContext, string memberName, out bool skipMember)
               
              
              Parameters
              
                
                  
                    | Type | 
                    Name | 
                    Description | 
                  
                
                
                  
                    | Stride.Core.Yaml.Serialization.ObjectContext | 
                    objectContext | 
                     | 
                  
                  
                    | System.String | 
                    memberName | 
                     | 
                  
                  
                    | System.Boolean | 
                    skipMember | 
                     | 
                  
                
              
              Returns
              
                
                  
                    | Type | 
                    Description | 
                  
                
                
                  
                    | System.String | 
                     | 
                  
                
              
              Overrides
              Stride.Core.Yaml.Serialization.Serializers.DefaultObjectSerializerBackend.ReadMemberName(Stride.Core.Yaml.Serialization.ObjectContext, System.String, System.Boolean)
              
              
              
              
              
              ReadMemberValue(ref ObjectContext, IMemberDescriptor, Object, Type)
              
              
              
              
              
                public override object ReadMemberValue(ref ObjectContext objectContext, IMemberDescriptor memberDescriptor, object memberValue, Type memberType)
               
              
              Parameters
              
                
                  
                    | Type | 
                    Name | 
                    Description | 
                  
                
                
                  
                    | Stride.Core.Yaml.Serialization.ObjectContext | 
                    objectContext | 
                     | 
                  
                  
                    | Stride.Core.Reflection.IMemberDescriptor | 
                    memberDescriptor | 
                     | 
                  
                  
                    | System.Object | 
                    memberValue | 
                     | 
                  
                  
                    | System.Type | 
                    memberType | 
                     | 
                  
                
              
              Returns
              
                
                  
                    | Type | 
                    Description | 
                  
                
                
                  
                    | System.Object | 
                     | 
                  
                
              
              Overrides
              Stride.Core.Yaml.Serialization.Serializers.DefaultObjectSerializerBackend.ReadMemberValue(Stride.Core.Yaml.Serialization.ObjectContext, Stride.Core.Reflection.IMemberDescriptor, System.Object, System.Type)
              
              
              
              
              
              ShouldSerialize(IMemberDescriptor, ref ObjectContext)
              
              
              
              
              
                public override bool ShouldSerialize(IMemberDescriptor member, ref ObjectContext objectContext)
               
              
              Parameters
              
                
                  
                    | Type | 
                    Name | 
                    Description | 
                  
                
                
                  
                    | Stride.Core.Reflection.IMemberDescriptor | 
                    member | 
                     | 
                  
                  
                    | Stride.Core.Yaml.Serialization.ObjectContext | 
                    objectContext | 
                     | 
                  
                
              
              Returns
              
                
                  
                    | Type | 
                    Description | 
                  
                
                
                  
                    | System.Boolean | 
                     | 
                  
                
              
              Overrides
              Stride.Core.Yaml.Serialization.Serializers.DefaultObjectSerializerBackend.ShouldSerialize(Stride.Core.Reflection.IMemberDescriptor, Stride.Core.Yaml.Serialization.ObjectContext)
              
              
              
              
              
              WriteCollectionItem(ref ObjectContext, Object, Type, Int32)
              
              
              
              
              
                public override void WriteCollectionItem(ref ObjectContext objectContext, object item, Type itemType, int index)
               
              
              Parameters
              
                
                  
                    | Type | 
                    Name | 
                    Description | 
                  
                
                
                  
                    | Stride.Core.Yaml.Serialization.ObjectContext | 
                    objectContext | 
                     | 
                  
                  
                    | System.Object | 
                    item | 
                     | 
                  
                  
                    | System.Type | 
                    itemType | 
                     | 
                  
                  
                    | System.Int32 | 
                    index | 
                     | 
                  
                
              
              Overrides
              Stride.Core.Yaml.Serialization.Serializers.DefaultObjectSerializerBackend.WriteCollectionItem(Stride.Core.Yaml.Serialization.ObjectContext, System.Object, System.Type, System.Int32)
              
              
              
              
              
              WriteDictionaryKey(ref ObjectContext, Object, Type)
              
              
              
              
              
                public override void WriteDictionaryKey(ref ObjectContext objectContext, object key, Type keyType)
               
              
              Parameters
              
                
                  
                    | Type | 
                    Name | 
                    Description | 
                  
                
                
                  
                    | Stride.Core.Yaml.Serialization.ObjectContext | 
                    objectContext | 
                     | 
                  
                  
                    | System.Object | 
                    key | 
                     | 
                  
                  
                    | System.Type | 
                    keyType | 
                     | 
                  
                
              
              Overrides
              Stride.Core.Yaml.Serialization.Serializers.DefaultObjectSerializerBackend.WriteDictionaryKey(Stride.Core.Yaml.Serialization.ObjectContext, System.Object, System.Type)
              
              
              
              
              
              WriteDictionaryValue(ref ObjectContext, Object, Object, Type)
              
              
              
              
              
                public override void WriteDictionaryValue(ref ObjectContext objectContext, object key, object value, Type valueType)
               
              
              Parameters
              
                
                  
                    | Type | 
                    Name | 
                    Description | 
                  
                
                
                  
                    | Stride.Core.Yaml.Serialization.ObjectContext | 
                    objectContext | 
                     | 
                  
                  
                    | System.Object | 
                    key | 
                     | 
                  
                  
                    | System.Object | 
                    value | 
                     | 
                  
                  
                    | System.Type | 
                    valueType | 
                     | 
                  
                
              
              Overrides
              Stride.Core.Yaml.Serialization.Serializers.DefaultObjectSerializerBackend.WriteDictionaryValue(Stride.Core.Yaml.Serialization.ObjectContext, System.Object, System.Object, System.Type)
              
              
              
              
              
              WriteMemberName(ref ObjectContext, IMemberDescriptor, String)
              
              
              
              
              
                public override void WriteMemberName(ref ObjectContext objectContext, IMemberDescriptor member, string memberName)
               
              
              Parameters
              
                
                  
                    | Type | 
                    Name | 
                    Description | 
                  
                
                
                  
                    | Stride.Core.Yaml.Serialization.ObjectContext | 
                    objectContext | 
                     | 
                  
                  
                    | Stride.Core.Reflection.IMemberDescriptor | 
                    member | 
                     | 
                  
                  
                    | System.String | 
                    memberName | 
                     | 
                  
                
              
              Overrides
              Stride.Core.Yaml.Serialization.Serializers.DefaultObjectSerializerBackend.WriteMemberName(Stride.Core.Yaml.Serialization.ObjectContext, Stride.Core.Reflection.IMemberDescriptor, System.String)
              
              
              
              
              
              WriteMemberValue(ref ObjectContext, IMemberDescriptor, Object, Type)
              
              
              
              
              
                public override void WriteMemberValue(ref ObjectContext objectContext, IMemberDescriptor memberDescriptor, object memberValue, Type memberType)
               
              
              Parameters
              
                
                  
                    | Type | 
                    Name | 
                    Description | 
                  
                
                
                  
                    | Stride.Core.Yaml.Serialization.ObjectContext | 
                    objectContext | 
                     | 
                  
                  
                    | Stride.Core.Reflection.IMemberDescriptor | 
                    memberDescriptor | 
                     | 
                  
                  
                    | System.Object | 
                    memberValue | 
                     | 
                  
                  
                    | System.Type | 
                    memberType | 
                     | 
                  
                
              
              Overrides
              Stride.Core.Yaml.Serialization.Serializers.DefaultObjectSerializerBackend.WriteMemberValue(Stride.Core.Yaml.Serialization.ObjectContext, Stride.Core.Reflection.IMemberDescriptor, System.Object, System.Type)
              
              
 
              
               
              
              
              
                
                  Stride.Core.Yaml.Serialization.Serializers.DefaultObjectSerializerBackend.GetStyle(Stride.Core.Yaml.Serialization.ObjectContext)
                
                
                  Stride.Core.Yaml.Serialization.Serializers.DefaultObjectSerializerBackend.ReadYaml(Stride.Core.Yaml.Serialization.ObjectContext)
                
                
                  Stride.Core.Yaml.Serialization.Serializers.DefaultObjectSerializerBackend.WriteYaml(Stride.Core.Yaml.Serialization.ObjectContext)
                
               
              
              
              
              Extension Methods