示例#1
0
        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));
        }
示例#2
0
 public JsonSerializer(LazyDataSerializer internalSerializer)
 {
     InternalSerializer = internalSerializer;
 }