label | Optional label in front of the field. |
selectedIndex | The index of the option the field shows. |
displayedOptions | An array with the options shown in the popup. |
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. |
int The index of the option that has been selected by the user.
Make a generic popup selection field.
Takes the currently selected index as a parameter and returns the index selected by the user.
Create a primitive depending on the option selected.
// Creates an instance of a primitive depending on the option selected by the user. class EditorGUILayoutPopup extends EditorWindow { var options : String[] = ["Cube", "Sphere", "Plane"]; var index : int = 0; @MenuItem("Examples/Editor GUILayout Popup usage") static function Init() { var window = GetWindow(EditorGUILayoutPopup); window.Show(); } function OnGUI() { index = EditorGUILayout.Popup(index, options); if(GUILayout.Button("Create")) InstantiatePrimitive(); } function InstantiatePrimitive() { switch (index) { case 0: var cube : GameObject = GameObject.CreatePrimitive(PrimitiveType.Cube); cube.transform.position = Vector3.zero; break; case 1: var sphere : GameObject = GameObject.CreatePrimitive(PrimitiveType.Sphere); sphere.transform.position = Vector3.zero; break; case 2: var plane : GameObject = GameObject.CreatePrimitive(PrimitiveType.Plane); plane.transform.position = Vector3.zero; break; default: Debug.LogError("Unrecognized Option"); break; } } }