版本:Unity 6 (6000.0)
语言中文
  • C#

EditorGUILayout.EnumPopup

发送更改建议

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法采纳所有意见,但我们确实会阅读来自用户的所有更改建议,并且会在适用时进行更新。

关闭

提交失败

出于某些原因,无法提交您的更改建议。请在几分钟后重试。感谢您花时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

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.WidthGUILayout.HeightGUILayout.MinWidthGUILayout.MaxWidthGUILayout.MinHeightGUILayout.MaxHeightGUILayout.ExpandWidthGUILayout.ExpandHeight
includeObsolete 设置为 true 以包括带 ObsoleteAttribute 的枚举值。设置为 false 以排除带 ObsoleteAttribute 的枚举值。
checkEnabled 对显示的每个枚举值调用的方法。如果选项可以被选中,指定的方法应返回 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; } } }