- using Svelto.Common;
-
- namespace Svelto.ECS.Serialization
- {
- //TODO: Unit test. Delete this comment once Unit test is written
- public class DefaultVersioningFactory<T> : IDeserializationFactory where T : IEntityDescriptor, new()
- {
- public EntityInitializer BuildDeserializedEntity
- (EGID egid, ISerializationData serializationData, ISerializableEntityDescriptor entityDescriptor
- , int serializationType, IEntitySerialization entitySerialization, IEntityFactory factory
- , bool enginesRootIsDeserializationOnly)
- {
- var entityDescriptorEntitiesToSerialize = enginesRootIsDeserializationOnly ? entityDescriptor.componentsToSerialize : entityDescriptor.componentsToBuild;
-
- var initializer = factory.BuildEntity(egid, entityDescriptorEntitiesToSerialize, TypeCache<T>.type);
-
- entitySerialization.DeserializeEntityComponents(serializationData, entityDescriptor, ref initializer
- , serializationType);
-
- return initializer;
- }
- }
- }
|