private void SaveMetadata(ZipArchive archive, IFileSaveInfo saveInfo) { var metaEntry = archive.CreateEntry("meta.json"); using (var writer = trwFactory.JsonWriter(metaEntry.Open())) using (var context = saveLoadFactory.MetaWriteContext(writer)) context.Write(new SaveLoadMetadata { Version = converterContainer.CurrentVersion, IncludesEditingWorld = saveInfo.IncludeEditingWorld, IncludesReadOnlyWorld = saveInfo.IncludeReadOnlyWorld }); }
public void SaveConfig <T>() where T : class, IConfig, new() { var config = (T)configs.GetOrAdd(typeof(T), x => new T()); var handlerContainer = serializationNecessities.GetTrwHandlerContainer(ConfigSerializationNecessitiesProvider.SerializationType); var typeRedirects = serializationNecessities.GetTrwHandlerTypeRedirects(ConfigSerializationNecessitiesProvider.SerializationType); var options = new TrwSerializationOptions { ExplicitTypes = TrwSerializationExplicitTypes.Never }; using (var fileStream = fileStorage.FileSystem.OpenWriteNew(GetFileName <T>())) using (var trwReader = trwFactory.JsonWriter(fileStream)) using (var context = new TrwSerializationWriteContext(trwReader, handlerContainer, typeRedirects, options)) context.Write <T>(config); }