using System; using Svelto.ECS; using Svelto.ECS.Serialization; using GamecraftModdingAPI.Utility; namespace GamecraftModdingAPI.Persistence { /// /// Entity serializer and deserializer interface for storing and retrieving data in a Gamecraft save file (GameSave.GC). /// public interface IEntitySerializer : IDeserializationFactory, IQueryingEntitiesEngine { /// /// Serialize the entities. /// /// Whether serialization was successful. /// Serialized data to write to (writes to GameSave.GC). /// Entities db for the game. /// Entity serializer with support for single-entity serialization. bool Serialize(ref ISerializationData serializationData, EntitiesDB entitiesDB, IEntitySerialization entitySerializer); /// /// Deserialize the entities. /// /// Whether deserialization was successful. /// Serialized data to read from (read from GameSave.GC). /// Entity serializer with support for single-entity deserialization. bool Deserialize(ref ISerializationData serializationData, IEntitySerialization entitySerializer); } }