Name | Description |
---|---|
position | Rectangle on the screen to use for the field. |
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. |
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.
Popup in and Editor Window.
// Adds a component to the selected GameObjects
class EditorGUIPopup extends EditorWindow {
var options : String[] = ["Rigidbody", "Box Collider", "Sphere Collider"];
var index : int = 0;
@MenuItem("Examples/Editor GUI Popup usage")
static function Init() {
var window = GetWindow(EditorGUIPopup);
window.position = Rect(0,0,180,80);
window.Show();
}
function OnGUI() {
index = EditorGUI.Popup(
Rect(0,0,position.width, 20),
"Component:",
index,
options);
if(GUI.Button(Rect(0,25,position.width, position.height - 26),"Add Component"))
AddComponentToObjects();
}
function AddComponentToObjects() {
if(!Selection.activeGameObject) {
Debug.LogError("Please select at least one GameObject first");
return;
}
for(var go : GameObject in Selection.gameObjects)
go.AddComponent(options[index]);
}
}