void OnGUI()
        {
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.HelpBox("Import voxel models from other applications.", MessageType.Info);
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.Separator();

            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("Format", GUILayout.Width(120));
            importFormat = (IMPORT_FORMAT)EditorGUILayout.EnumPopup(importFormat);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("File name", GUILayout.Width(120));
            importFilename = EditorGUILayout.TextField(importFilename);
            if (GUILayout.Button("Open...", GUILayout.Width(80)))
            {
                string ext = ExtensionForImportFormat(importFormat);
                importFilename = EditorUtility.OpenFilePanel("Select model File (*." + ext + ")", "", ext);
            }
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField(new GUIContent("Ignore Offset", "Model can specify an offset for the center."), GUILayout.Width(120));
            importIgnoreOffset = EditorGUILayout.Toggle(importIgnoreOffset);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField(new GUIContent("Scale", "Scale applied to the model."), GUILayout.Width(120));
            scale = EditorGUILayout.Vector3Field("", scale);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField(new GUIContent("Color To Voxel Map", "Additionally create a color to voxel definition map."), GUILayout.Width(160));
            shouldMakeColorToVoxMap = EditorGUILayout.Toggle(shouldMakeColorToVoxMap);
            if (shouldMakeColorToVoxMap)
            {
                defaultMapVoxel = (VoxelDefinition)EditorGUILayout.ObjectField("Default Voxel Def", defaultMapVoxel, typeof(VoxelDefinition), true);
            }
            EditorGUILayout.EndHorizontal();


            EditorGUILayout.Separator();
            GUI.enabled = !string.IsNullOrEmpty(importFilename);
            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("Generate Model Asset", GUILayout.Width(160)))
            {
                GenerateModelAsset();
                GUIUtility.ExitGUI();
            }
            if (GUILayout.Button("Generate Prefab", GUILayout.Width(160)))
            {
                GeneratePrefab();
                GUIUtility.ExitGUI();
            }
            GUI.enabled = false;
            EditorGUILayout.EndHorizontal();
        }
 static string ExtensionForImportFormat(IMPORT_FORMAT format)
 {
     switch (format)
     {
     case IMPORT_FORMAT.MagicaVoxel:
     default:
         return("vox");
     }
 }