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参数
- positionRectangle on the screen to use for the field.
字段在屏幕上的矩形区域 - labelOptional label in front of the field.
这个字段前面的可选标签 - selectedThe enum option the field shows.
字段显示的枚举选项 - styleOptional 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.
使用当前枚举的值作为参数并返回用户选择的值
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();}}