|  |  | 
 |  | ||||||||||
| Name | Description | 
|---|---|
| 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;
}
}
}