Namespace Eco.Core.Serialization
Classes
ColorConverter
ConfigTemplateContractResolver
DataBlob
Contains named raw data for DataStore.
DataStore
DataStore.ContentAccessor
DataStore content accessor which allows to perform safe DataStore modifications by other classes.
DataStore.ExclusiveAccess
Class which should be used for exclusive access to DataStore. May be obtained with WaitExclusiveAccess() or WaitExclusiveAccessAsync() to get it with exclusive access. You can also create with ExclusiveAccess(DataStore) constructor (no obtained state) and then Eco.Core.Serialization.DataStore.ExclusiveAccess.Wait(System.Threading.CancellationToken) or Eco.Core.Serialization.DataStore.ExclusiveAccess.WaitAsync(System.Threading.CancellationToken).
DataStoreContentAccessorDelegate
Delegate for ExecuteAsync(DataStore.ExclusiveAccess, DataStoreContentAccessorDelegate).
DecodedObject
Returned decoded object. It can either be
- The fully formed object. Assigned in 'obj'
- A reference to the object, which will need to be assigned later, after all serialization is complete. In this case, object with the 'applyFunc' will be added fixupList to apply the reference, and that will be later executed.
DontSerializeIntoTemplateAttribute
EcoSerializer
Read more about serialization and migrations in README.md.
ExpandableObjectContractResolver
ExpandableObjectContractResolverHostedWorlds
GuidConverter
Newtonsoft.Json.JsonConverter implementation for serializing System.Guid structs as System.String objects.
LocStringConverter
Newtonsoft.Json.JsonConverter implementation for serializing LocString structs as System.String objects.
OrderedDictionaryConverter
PersistenceManager
PersistenceManager responsible for objects persistence (marking as dirty, delete, persist to DataStore).
SerializationTimestamp
This struct should be used for auto-generated serialization timestamps which then may be used to check if serialized version is up to date. When loaded it always contains last timestamp when it was serialized which may be used to ensure serialized versions contains actual copy and invalidate it if required (i.e. for height caches). Can be just added to serialized class which aware about serialization timestamp. IMPORTANT: It should be non-readonly field! If copied (i.e. when assigned by value) then it will contain snapshot value for LastSerializedValue.
SerializationUtils
SerializeFlags
SerializeForGenericTypesAttribute
SerializerSchema
ShortTypeNameConverter
Custom Newtonsoft.Json.JsonConverter implementation for short type names.
SimpleSerializer
StorageBagDirectory<T>
StorageBagDirectory<T> represents a directory in StorageManager with set of Eco.Core.Serialization.StorageBag entries. Each bag contains up to MaxItemsPerBag items. Intended for cases where lot of items may exists to reduce number of storage handles in Zip Archive. Zip archive slow downs and can even crash if too many entries.