Exemplo n.º 1
0
        public async Task SaveFile(string fileName)
        {
            var textureSet = SelectedItem switch
            {
                TextureSetFile s => s,
                TileTextureCollection c => c.Parent,
                TextureGrid g => g.Parent?.Parent,
                TextureTile t => t.Parent?.Parent?.Parent,
                _ => null
            };

            if (textureSet == null)
            {
                return;
            }

            GeneratorPreferencesWriter.EnsureParentDirectoryExists(fileName);
            var doc = TextureSetFileWriter.GenerateXml(textureSet);

            await using var stream = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.None, bufferSize: 4096, useAsync: true);
            await doc.SaveAsync(stream, default, default);
Exemplo n.º 2
0
        public async Task SaveDefaults()
        {
            try
            {
                var s = new GeneratorPreferencesWriter(Preferences);
                await s.SaveAsync();
            }
            catch
            {
                // ignored too
            }

            try
            {
                var r    = RecentFiles.Select(e => e.FileName).ToArray();
                var path = RecentFilesStorageLocation;
                GeneratorPreferencesWriter.EnsureParentDirectoryExists(path);
                await File.WriteAllLinesAsync(path, r);
            }
            catch
            {
                // ignored too
            }
        }