Show / Hide Table of Contents

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

  1. The fully formed object. Assigned in 'obj'
  2. 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.

StorageExtensions

Interfaces

IInitializableSerializer

IInstanceDecoder

IPersistent

ISerializable

IStorage

IVersionSerializer

☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾