Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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;
        }