Stride

OPEN / CLOSE
  • Features
  • Blog
  • Documentation
  • Community
(icon) Download

  • Discord
  • Facebook
  • Twitter
  • YouTube

LANGUAGE

OPEN / CLOSE
  • English
  • 日本語
    Show / Hide Table of Contents

    CollectionWithIdsSerializer Class

    Namespace: Stride.Core.Yaml
    Assembly: Stride.Core.Assets.dll

    An implementation of CollectionWithIdsSerializerBase for actual collections.

    System.Object → Stride.Core.Yaml.Serialization.Serializers.ObjectSerializer → Stride.Core.Yaml.Serialization.Serializers.DictionarySerializer → CollectionWithIdsSerializerBase → CollectionWithIdsSerializer
    Derived from CollectionWithIdsSerializer:

    [YamlSerializerFactory(new string[]{"Assets"})]
    public class CollectionWithIdsSerializer : CollectionWithIdsSerializerBase, IYamlSerializable, IYamlSerializableFactory
    Name Description
    Methods
    CreatEmptyContainer(ITypeDescriptor)

    Creates an empty dictionary that can store the mapping of ids to items of the collection.

    GetCollectionSerializerForNonTransformedObject()
    ReadDeletedDictionaryItem(ref ObjectContext, Object)
    ReadYamlAfterTransform(ref ObjectContext, Boolean)
    TransformAfterDeserialization(IDictionary, ITypeDescriptor, Object, ICollection<ItemId>)

    Transforms a dictionary containing the mapping of ids to items into the actual collection, and store the ids in the Stride.Core.Reflection.ShadowObject.

    TransformForSerialization(ITypeDescriptor, Object)
    TransformObjectAfterRead(ref ObjectContext)
    TryCreate(SerializerContext, ITypeDescriptor)
    WriteDeletedItems(ref ObjectContext)
    WriteYamlAfterTransform(ref ObjectContext, Boolean)
    | Improve this Doc View Source

    Methods


    CreatEmptyContainer(ITypeDescriptor)

    Creates an empty dictionary that can store the mapping of ids to items of the collection.

    protected override IDictionary CreatEmptyContainer(ITypeDescriptor descriptor)
    Parameters
    Type Name Description
    Stride.Core.Reflection.ITypeDescriptor descriptor

    The type descriptor of the collection for which to create the dictionary.

    Returns
    Type Description
    System.Collections.IDictionary

    An empty dictionary for mapping ids to elements.

    Overrides
    CollectionWithIdsSerializerBase.CreatEmptyContainer(ITypeDescriptor)

    GetCollectionSerializerForNonTransformedObject()

    protected virtual CollectionSerializer GetCollectionSerializerForNonTransformedObject()
    Returns
    Type Description
    Stride.Core.Yaml.Serialization.Serializers.CollectionSerializer

    ReadDeletedDictionaryItem(ref ObjectContext, Object)

    protected override KeyValuePair<object, object> ReadDeletedDictionaryItem(ref ObjectContext objectContext, object keyResult)
    Parameters
    Type Name Description
    Stride.Core.Yaml.Serialization.ObjectContext objectContext
    System.Object keyResult
    Returns
    Type Description
    System.Collections.Generic.KeyValuePair<System.Object, System.Object>
    Overrides
    CollectionWithIdsSerializerBase.ReadDeletedDictionaryItem(ref ObjectContext, Object)

    ReadYamlAfterTransform(ref ObjectContext, Boolean)

    protected override void ReadYamlAfterTransform(ref ObjectContext objectContext, bool transformed)
    Parameters
    Type Name Description
    Stride.Core.Yaml.Serialization.ObjectContext objectContext
    System.Boolean transformed
    Overrides
    CollectionWithIdsSerializerBase.ReadYamlAfterTransform(ref ObjectContext, Boolean)

    TransformAfterDeserialization(IDictionary, ITypeDescriptor, Object, ICollection<ItemId>)

    Transforms a dictionary containing the mapping of ids to items into the actual collection, and store the ids in the Stride.Core.Reflection.ShadowObject.

    protected override void TransformAfterDeserialization(IDictionary container, ITypeDescriptor targetDescriptor, object targetCollection, ICollection<ItemId> deletedItems = null)
    Parameters
    Type Name Description
    System.Collections.IDictionary container

    The dictionary mapping ids to item.

    Stride.Core.Reflection.ITypeDescriptor targetDescriptor

    The type descriptor of the actual collection to fill.

    System.Object targetCollection

    The instance of the actual collection to fill.

    System.Collections.Generic.ICollection<ItemId> deletedItems

    A collection of items that are marked as deleted. Can be null.

    Overrides
    CollectionWithIdsSerializerBase.TransformAfterDeserialization(IDictionary, ITypeDescriptor, Object, ICollection<ItemId>)

    TransformForSerialization(ITypeDescriptor, Object)

    protected override object TransformForSerialization(ITypeDescriptor descriptor, object collection)
    Parameters
    Type Name Description
    Stride.Core.Reflection.ITypeDescriptor descriptor
    System.Object collection
    Returns
    Type Description
    System.Object
    Overrides
    CollectionWithIdsSerializerBase.TransformForSerialization(ITypeDescriptor, Object)

    TransformObjectAfterRead(ref ObjectContext)

    protected override void TransformObjectAfterRead(ref ObjectContext objectContext)
    Parameters
    Type Name Description
    Stride.Core.Yaml.Serialization.ObjectContext objectContext
    Overrides
    Stride.Core.Yaml.Serialization.Serializers.ObjectSerializer.TransformObjectAfterRead(Stride.Core.Yaml.Serialization.ObjectContext)

    TryCreate(SerializerContext, ITypeDescriptor)

    public override IYamlSerializable TryCreate(SerializerContext context, ITypeDescriptor typeDescriptor)
    Parameters
    Type Name Description
    Stride.Core.Yaml.Serialization.SerializerContext context
    Stride.Core.Reflection.ITypeDescriptor typeDescriptor
    Returns
    Type Description
    Stride.Core.Yaml.Serialization.IYamlSerializable
    Overrides
    Stride.Core.Yaml.Serialization.Serializers.DictionarySerializer.TryCreate(Stride.Core.Yaml.Serialization.SerializerContext, Stride.Core.Reflection.ITypeDescriptor)

    WriteDeletedItems(ref ObjectContext)

    protected override void WriteDeletedItems(ref ObjectContext objectContext)
    Parameters
    Type Name Description
    Stride.Core.Yaml.Serialization.ObjectContext objectContext
    Overrides
    CollectionWithIdsSerializerBase.WriteDeletedItems(ref ObjectContext)

    WriteYamlAfterTransform(ref ObjectContext, Boolean)

    protected override void WriteYamlAfterTransform(ref ObjectContext objectContext, bool transformed)
    Parameters
    Type Name Description
    Stride.Core.Yaml.Serialization.ObjectContext objectContext
    System.Boolean transformed
    Overrides
    CollectionWithIdsSerializerBase.WriteYamlAfterTransform(ref ObjectContext, Boolean)

    Inherited Members

    CollectionWithIdsSerializerBase.YamlDeletedKey
    CollectionWithIdsSerializerBase.NonIdentifiableCollectionItemsKey
    CollectionWithIdsSerializerBase.InstanceInfoKey
    CollectionWithIdsSerializerBase.DeletedItemsKey
    CollectionWithIdsSerializerBase.ReadYaml(ObjectContext)
    CollectionWithIdsSerializerBase.WriteYaml(ObjectContext)
    CollectionWithIdsSerializerBase.CreateOrTransformObject(ObjectContext)
    CollectionWithIdsSerializerBase.ReadDictionaryItems(ObjectContext)
    CollectionWithIdsSerializerBase.WriteDictionaryItems(ObjectContext)
    CollectionWithIdsSerializerBase.ReadDictionaryItem(ObjectContext, KeyValuePair<Type, Type>)
    CollectionWithIdsSerializerBase.CheckIsSequence(ObjectContext)
    CollectionWithIdsSerializerBase.AreCollectionItemsIdentifiable(ObjectContext)
    Stride.Core.Yaml.Serialization.Serializers.DictionarySerializer.ReadMember(Stride.Core.Yaml.Serialization.ObjectContext)
    Stride.Core.Yaml.Serialization.Serializers.DictionarySerializer.WriteMembers(Stride.Core.Yaml.Serialization.ObjectContext)
    Stride.Core.Yaml.Serialization.Serializers.DictionarySerializer.WriteDictionaryItem(Stride.Core.Yaml.Serialization.ObjectContext, System.Collections.Generic.KeyValuePair<System.Object, System.Object>, System.Collections.Generic.KeyValuePair<System.Type, System.Type>)
    Stride.Core.Yaml.Serialization.Serializers.ObjectSerializer.GetStyle(Stride.Core.Yaml.Serialization.ObjectContext)
    Stride.Core.Yaml.Serialization.Serializers.ObjectSerializer.ReadMembers<TStart, TEnd>(Stride.Core.Yaml.Serialization.ObjectContext)
    Stride.Core.Yaml.Serialization.Serializers.ObjectSerializer.TryReadMember(Stride.Core.Yaml.Serialization.ObjectContext, System.String)
    Stride.Core.Yaml.Serialization.Serializers.ObjectSerializer.TryReadMember(Stride.Core.Yaml.Serialization.ObjectContext, Stride.Core.Yaml.Events.Scalar, System.String)
    Stride.Core.Yaml.Serialization.Serializers.ObjectSerializer.ReadMemberName(Stride.Core.Yaml.Serialization.ObjectContext, System.String, System.Boolean)
    Stride.Core.Yaml.Serialization.Serializers.ObjectSerializer.ReadMemberValue(Stride.Core.Yaml.Serialization.ObjectContext, Stride.Core.Reflection.IMemberDescriptor, System.Object, System.Type)
    Stride.Core.Yaml.Serialization.Serializers.ObjectSerializer.WriteMember(Stride.Core.Yaml.Serialization.ObjectContext, Stride.Core.Reflection.IMemberDescriptor)
    Stride.Core.Yaml.Serialization.Serializers.ObjectSerializer.WriteMemberName(Stride.Core.Yaml.Serialization.ObjectContext, Stride.Core.Reflection.IMemberDescriptor, System.String)
    Stride.Core.Yaml.Serialization.Serializers.ObjectSerializer.WriteMemberValue(Stride.Core.Yaml.Serialization.ObjectContext, Stride.Core.Reflection.IMemberDescriptor, System.Object, System.Type)

    Extension Methods

    ComponentBaseExtensions.DisposeBy<T>(T, ICollectorHolder)
    ComponentBaseExtensions.RemoveDisposeBy<T>(T, ICollectorHolder)
    • Improve this Doc
    • View Source
    In This Article

    Back to top

    Copyright © 2019-2021 .NET Foundation and Contributors
    Supported by the .NET Foundation