|  |  | 
 |  | ||||||||||
| Name | Description | 
|---|---|
| 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 | 
System.Enum - The enum option that has been selected by the user.
Make an enum popup selection field.
Takes the currently selected enum value as a parameter and returns the enum value selected by the user.

Creates a primitive selected by the user.
// 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;
}
}
}