Beispiel #1
0
        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
                    });
        }
Beispiel #2
0
        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);
        }