using Svelto.Common; namespace Svelto.ECS.Serialization { //TODO: Unit test. Delete this comment once Unit test is written public class DefaultVersioningFactory : 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.type); entitySerialization.DeserializeEntityComponents(serializationData, entityDescriptor, ref initializer , serializationType); return initializer; } } }