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"); } }