using System.Collections.Generic; namespace Svelto.ECS.Serialization { public class DefaultVersioningFactory : IDeserializationFactory where T : IEntityDescriptor, new() { public EntityStructInitializer BuildDeserializedEntity(EGID egid, ISerializationData serializationData, ISerializableEntityDescriptor entityDescriptor, SerializationType serializationType, IEntitySerialization entitySerialization) { var initializer = _factory.BuildEntity(egid, _implementors); entitySerialization.DeserializeEntityStructs(serializationData, entityDescriptor, ref initializer, serializationType); return initializer; } public DefaultVersioningFactory(IEntityFactory factory) { _factory = factory; } public DefaultVersioningFactory(IEntityFactory factory, IEnumerable implementors) { _factory = factory; _implementors = implementors; } readonly IEntityFactory _factory; readonly IEnumerable _implementors; } }