EditorGUI.EnumPopup 枚举弹出菜单


static function EnumPopup (position : Rect, selected : System.Enum, style : GUIStyle = EditorStyles.popup) : System.Enum
static function EnumPopup (position : Rect, label : string, selected : System.Enum, style : GUIStyle = EditorStyles.popup) : System.Enum
static function EnumPopup (position : Rect, label : GUIContent, selected : System.Enum, style : GUIStyle = EditorStyles.popup) : System.Enum

Parameters参数

  • position
    Rectangle on the screen to use for the field.
       字段在屏幕上的矩形区域    
  • label
    Optional label in front of the field.
       这个字段前面的可选标签
  • selected
    The enum option the field shows.
    字段显示的枚举选项
  • style
    Optional GUIStyle. //  可选的GUIStyle

Returns

System.Enum - The enum option that has been selected by the user.

系统枚举 - 用户选择的枚举选项

Description描述

Make an enum popup selection field.

制作一个枚举弹出选择字段(弹出选择菜单)。

Takes the currently selected enum value as a parameter and returns the enum value selected by the user.    

使用当前枚举的值作为参数并返回用户选择的值

EditorGUI.EnumPopup 枚举弹出菜单

Enum Popup in an Editor Window.
编辑器中的枚举弹出菜单。

// Shows info of a GameObject depending on the selected option//根据选择选项的显示游戏物体的信息enum OPTIONS {Position = 0,Rotation = 1,Scale = 2,}class EditorGUIEnumPopup extends EditorWindow {var display : OPTIONS = OPTIONS.Position;@MenuItem("Examples/Editor GUI Enum Popup usage")static function Init() {var window = GetWindow(EditorGUIEnumPopup);window.position = Rect(0, 0, 220, 80);window.Show();}function OnGUI() {var selectedObj : Transform = Selection.activeTransform;display = EditorGUI.EnumPopup(Rect(3,3,position.width - 6, 15),"Show:",display);EditorGUI.LabelField(Rect(0, 20, position.width,15),"Name:",selectedObj ? selectedObj.name : "Select an Object");if(selectedObj) {switch(display) {case OPTIONS.Position:EditorGUI.LabelField(Rect(0, 40, position.width,15),"Position:",selectedObj.position.ToString());break;case OPTIONS.Rotation:EditorGUI.LabelField(Rect(0, 40, position.width,15),"Rotation:",selectedObj.rotation.ToString());break;case OPTIONS.Scale:EditorGUI.LabelField(Rect(0, 40, position.width,15),"Scale:",selectedObj.localScale.ToString());break;default:Debug.LogError("Unrecognized Option");break;}}if(GUI.Button(Rect(3,position.height - 25, position.width - 6, 24),"Close"))this.Close();}}


,