public void Save() { PrismMap map = new PrismMap(FileStructureVersion); Dictionary <TextureSet.Tile, PrismTexture.Tile> tileList = new Dictionary <TextureSet.Tile, PrismTexture.Tile>(); foreach (TextureSet s in textureSetList) { PrismTexture set = new PrismTexture(s.Name, s.Bitmap); foreach (TextureSet.Tile t in s) { PrismTexture.Tile tile = new PrismTexture.Tile(t.Name, t.UV, set); tileList.Add(t, tile); set.AddTile(tile); } map.AddTexture(set); } map.RootLayerNode = rootLayer.GetPrismNode(null, tileList); if (filename == null) { SaveFileDialog dialog = new SaveFileDialog(); dialog.Filter = "Prism Map (*.pm)|*.pm"; if (dialog.ShowDialog() == DialogResult.OK) { filename = dialog.FileName; } else { return; } } PrismFile.SaveMapTo(map, filename); }