Mirror of Svelto.ECS because we're a fan of it
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

27 satır
1.1KB

  1. using Svelto.Common;
  2. namespace Svelto.ECS.Serialization
  3. {
  4. //TODO: Unit test. Delete this comment once Unit test is written
  5. #if ENABLE_IL2CPP
  6. [UnityEngine.Scripting.Preserve]
  7. #endif
  8. public class DefaultVersioningFactory<T> : IDeserializationFactory where T : IEntityDescriptor, new()
  9. {
  10. public EntityInitializer BuildDeserializedEntity(EGID egid, ISerializationData serializationData,
  11. ISerializableEntityDescriptor entityDescriptor, int serializationType,
  12. IEntitySerialization entitySerialization, IEntityFactory factory, bool enginesRootIsDeserializationOnly)
  13. {
  14. var entityDescriptorEntitiesToSerialize = enginesRootIsDeserializationOnly
  15. ? entityDescriptor.componentsToSerialize
  16. : entityDescriptor.componentsToBuild;
  17. var initializer = (factory as IEntitySerializationFactory).BuildEntity(egid, entityDescriptorEntitiesToSerialize, TypeCache<T>.type);
  18. entitySerialization.DeserializeEntityComponents(serializationData, entityDescriptor, ref initializer,
  19. serializationType);
  20. return initializer;
  21. }
  22. }
  23. }