public void Save(string outputFile) { string?directory; if (File.Exists(outputFile) && File.GetAttributes(outputFile).HasFlag(FileAttributes.Directory)) { directory = outputFile; } else { directory = Path.GetDirectoryName(outputFile); } if (directory == null) { return; } EngineSerializer engineSerializer = new EngineSerializer(); engineSerializer.Save(this, directory); GameplaySerializer gameplaySerializer = new GameplaySerializer(); gameplaySerializer.Save(this, directory); for (int i = 0; i < terrainChunks.Count; i++) { ChunkSerializer chunkSerializer = new ChunkSerializer(); chunkSerializer.Save(this, directory, i); } }
private void mapSaveAsBtn_Click(object sender, EventArgs e) { if (mapSaveDialog.ShowDialog() == DialogResult.OK) { string pathName = Path.GetDirectoryName(mapSaveDialog.FileName); GameplaySerializer gameplaySerializer = new GameplaySerializer(); gameplaySerializer.Save(level, mapSaveDialog.FileName); EngineSerializer engineSerializer = new EngineSerializer(); engineSerializer.Save(level, pathName); } InvalidateView(); }