label | Optional label in front of the field. |
selected | The enum option the field shows. |
style | Optional GUIStyle. |
options | An optional list of layout options that specify extra layouting 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. |
Make an enum popup selection field.
// Creates an instance of a primitive depending on the option selected by the user. enum OPTIONS { CUBE = 0, SPHERE = 1, PLANE = 2 } class EditorGUILayoutEnumPopup extends EditorWindow { var op : OPTIONS; @MenuItem("Examples/Editor GUILayout Enum Popup usage") static function Init() { var window = GetWindow(EditorGUILayoutEnumPopup); window.Show(); } function OnGUI() { op = EditorGUILayout.EnumPopup("Primitive to create:", op); if(GUILayout.Button("Create")) InstantiatePrimitive(op); } function InstantiatePrimitive(op : OPTIONS) { switch (op) { case OPTIONS.CUBE: var cube : GameObject = GameObject.CreatePrimitive(PrimitiveType.Cube); cube.transform.position = Vector3.zero; break; case OPTIONS.SPHERE: var sphere : GameObject = GameObject.CreatePrimitive(PrimitiveType.Sphere); sphere.transform.position = Vector3.zero; break; case OPTIONS.PLANE: var plane : GameObject = GameObject.CreatePrimitive(PrimitiveType.Plane); plane.transform.position = Vector3.zero; break; default: Debug.LogError("Unrecognized Option"); break; } } }