public static List<BlockData> ImportBlockData(string filePath) { List<BlockData> blocks; string extension = Path.GetExtension(filePath).ToLower(); switch (extension) { case ".schematic": fileType = FileType.FILE_Schematic; SchematicProcessor schematicProcessor = new SchematicProcessor(filePath); blocks = schematicProcessor.generateBlockData(); break; case ".mcr": fileType = FileType.FILE_MCR; List<Chunk> chunkList = VoxelTerrainImporter.LoadTerrain(filePath); blocks = VoxelTerrainImporter.GenerateBlocks(chunkList); break; case ".mca": fileType = FileType.FILE_MCA; chunkList = VoxelTerrainImporter.LoadTerrain(filePath); blocks = VoxelTerrainImporter.GenerateBlocks(chunkList); break; default: MessageBox.Show(String.Format("The {0} format is not accepted - Aborting", extension)); blocks = null; break; } return blocks; }
private void LoadVoxelTerrain(string fileName) { Cursor = Cursors.WaitCursor; string extension = Path.GetExtension(fileName).ToLower(); List<BlockData> blocks; switch(extension) { case ".schematic": SchematicProcessor schematicProcessor = new SchematicProcessor(fileName); blocks = schematicProcessor.generateBlockData(); break; case ".mcr": List<Chunk> chunkList = VoxelTerrainImporter.LoadTerrain(fileName); blocks = VoxelTerrainImporter.GenerateBlocks(chunkList); break; //TODO: Handle Anvil region files case ".mca": //Letting it fall through to default for now //TODO:Delete VoxelTerrainImporter.LoadTerrain(fileName); blocks = new List<BlockData>(); break; default: MessageBox.Show(String.Format("The {0} format is not accepted - Aborting", extension)); return; } editorViewerControl.VoxelTerrain = new VoxelTerrain(blocks); gameManifest.VoxelTerrains.Add(Path.GetFileNameWithoutExtension(fileName), new VoxelTerrain(blocks)); Cursor = Cursors.Arrow; }