static function Popup (position : Rect, label : GUIContent, selectedIndex : int, displayedOptions : GUIContent[], style : GUIStyle = EditorStyles.popup) : int
Parameters
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.
|
Returns
int - The index of the option that has been selected by the user.
Description
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.
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]);
}
}