Version: 2018.2
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);

Parameters

label@param label Необязательный текст перед полем.
selected@param selected Значение enum показываемое в поле как выбранное.
style@param style Необязательный стиль GUIStyle.
optionsAn optional list of layout options that specify extra layout properties. Any values passed in here will override settings defined by the style.
See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.

Returns

Enum @return Значение перечисления enum которое было выбрано пользователем.

Description

Создает всплывающий список на основе перечисления enum.

Получает текущее значение enum в качестве параметра, и возвращает значение enum, выбранное пользователем.


Creates a primitive selected by the user.

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