EditorGUILayout.EnumPopup
Declaration
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<Enum,bool> checkEnabled, bool includeObsolete, params GUILayoutOption[] options);public static Enum EnumPopup(GUIContent label, Enum selected, Func<Enum,bool> checkEnabled, bool includeObsolete, GUIStyle style, params GUILayoutOption[] options);Параметры
| Параметр | Описание |
|---|---|
| метка | Факультативный знак перед полем. |
| выбрано | Вариант перечисления, отображаемый полем. |
| стиль | Факультативно GUIStyle. |
| варианты | Необязательный список параметров компоновки, задающих дополнительные свойства раскладки. Любые переданные здесь значения переопределяют настройки, заданные style.Дополнительные ресурсы: 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 в противном случае. |
Возвращаемое значение
Энум Вариант перечисления, выбранный пользователем.
Описание
Создать всплывающее поле выбора перечисления.
Принимает в качестве параметра выбранное в данный момент значение перечисления и возвращает значение, выбранное пользователем.
Создает примитив, выбранный пользователем.
using UnityEditor; using UnityEngine; using System.Collections;
// Creates an instance of a primitive depending on the option selected by the user.
public enum OPTIONS { CUBE = 0, SPHERE = 1, PLANE = 2 }
public class EditorGUILayoutEnumPopup : EditorWindow { public OPTIONS op; [MenuItem("Examples/Editor GUILayout 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; } } }