Объявление
public static Enum EnumPopup(Enum selected, params GUILayoutOption[] options);public static Enum EnumPopup(Enum selected, GUIStyle style, params GUILayoutOption[] options);
public static Enum EnumPopup(string label, Enum selected, params GUILayoutOption[] options);
public static Enum EnumPopup(string label, Enum selected, GUIStyle style, params GUILayoutOption[] options);
public static Enum EnumPopup(GUIContent label, Enum selected, params GUILayoutOption[] options);
public static Enum EnumPopup(GUIContent label, Enum selected, GUIStyle style, params GUILayoutOption[] options);
public static Enum EnumPopup(GUIContent label, Enum selected, Func
public static Enum EnumPopup(GUIContent label, Enum selected, Func
Параметры
label | Необязательная метка перед полем. |
selected | Параметр enum, отображаемый в поле. |
style | Необязательный стиль GUIStyle. |
options | Необязательный список параметров макета, определяющих дополнительные свойства макета. Любые переданные здесь значения переопределяют настройки, заданные стилем .Смотрите так же: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight. |
includeObsolete | Установите значение true, чтобы включить значения Enum с ObsoleteAttribute. Установите значение false, чтобы исключить значения Enum с ObsoleteAttribute. |
checkEnabled | Метод вызывается для каждого отображаемого значения Enum. Указанный метод должен возвращать true, если опция может быть выбрана, и false в противном случае. |
Возвращает
Enum Параметр перечисления, выбранный пользователем.
Описание
Создаёт всплывающее поле выбора enum.
Принимает текущее выбранное значение перечисления в качестве параметра и возвращает значение перечисления, выбранное пользователем.

using UnityEditor;
using UnityEngine;
using System.Collections;
// Создает экземпляр примитива в зависимости от опции, выбранной пользователем.
public enum OPTIONS
{
CUBE = 0,
SPHERE = 1,
PLANE = 2
}
public class EditorGUILayoutEnumPopup : EditorWindow
{
public OPTIONS op;
[MenuItem("Examples/EditorGUILayout Enum Popup usage")]
static void Init()
{
UnityEditor.EditorWindow window = GetWindow(typeof(EditorGUILayoutEnumPopup));
window.Show();
}
void OnGUI()
{
op = (OPTIONS)EditorGUILayout.EnumPopup("Primitive to create:", op);
if (GUILayout.Button("Create"))
InstantiatePrimitive(op);
}
void InstantiatePrimitive(OPTIONS op)
{
switch (op)
{
case OPTIONS.CUBE:
GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
cube.transform.position = Vector3.zero;
break;
case OPTIONS.SPHERE:
GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
sphere.transform.position = Vector3.zero;
break;
case OPTIONS.PLANE:
GameObject plane = GameObject.CreatePrimitive(PrimitiveType.Plane);
plane.transform.position = Vector3.zero;
break;
default:
Debug.LogError("Unrecognized Option");
break;
}
}
}