public ISaveEntityDatabasePipeline CreateJsonSavePipeline(IDependencyContainer container) { // We manually create our serializer here as we dont want the default behaviour which // which would be to only persist things with `[Persist]` and `[PersistData]` attributes // we want to persist EVERYTHING var mappingRegistry = new MappingRegistry(container.Resolve <EverythingTypeMapper>()); var primitiveTypeMappings = container.ResolveAll <IJsonPrimitiveHandler>(); // Create the lazy serializer to serialize everything, then wrap it in the persistity one var everythingSerializer = new LazyJsonSerializer(mappingRegistry, primitiveTypeMappings); var serializer = new JsonSerializer(everythingSerializer); // Piggyback off the existing save pipeline helper, which lets you set your format and filename return(PersistityModule.CreateSavePipeline(container, serializer, CustomEntityDatabaseFile)); }
public JsonSerializer(LazyDataSerializer internalSerializer) { InternalSerializer = internalSerializer; }