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参数

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();
	}
}
Page last updated: 2011-6-22