Объявление
public static int Popup(int selectedIndex, string[] displayedOptions, params GUILayoutOption[] options);public static int Popup(int selectedIndex, string[] displayedOptions, GUIStyle style, params GUILayoutOption[] options);
public static int Popup(int selectedIndex, GUIContent[] displayedOptions, params GUILayoutOption[] options);
public static int Popup(int selectedIndex, GUIContent[] displayedOptions, GUIStyle style, params GUILayoutOption[] options);
public static int Popup(string label, int selectedIndex, string[] displayedOptions, params GUILayoutOption[] options);
public static int Popup(string label, int selectedIndex, string[] displayedOptions, GUIStyle style, params GUILayoutOption[] options);
public static int Popup(GUIContent label, int selectedIndex, GUIContent[] displayedOptions, params GUILayoutOption[] options);
public static int Popup(GUIContent label, int selectedIndex, GUIContent[] displayedOptions, GUIStyle style, params GUILayoutOption[] options);
Параметры
label | Необязательная метка перед полем. |
selectedIndex | Индекс опции, которую показывает поле. |
displayedOptions | Индекс опции, которую показывает поле. |
style | Необязательный стиль GUIStyle. |
options | Необязательный список параметров макета, определяющих дополнительные свойства макета. Любые переданные здесь значения переопределяют настройки, заданные стилем .Смотрите так же: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight. |
Возвращает
int Индекс опции, выбранной пользователем.
Описание
Создаёт стандартное всплывающее поле выбора.
Принимает текущий выбранный индекс в качестве параметра и возвращает индекс, выбранный пользователем.

using UnityEditor;
using UnityEngine;
using System.Collections;
// Creates an instance of a primitive depending on the option selected by the user.
public class EditorGUILayoutPopup : EditorWindow
{
public string[] options = new string[] {"Cube", "Sphere", "Plane"};
public int index = 0;
[MenuItem("Examples/EditorGUILayout Popup usage")]
static void Init()
{
EditorWindow window = GetWindow(typeof(EditorGUILayoutPopup));
window.Show();
}
void OnGUI()
{
index = EditorGUILayout.Popup(index, options);
if (GUILayout.Button("Create"))
InstantiatePrimitive();
}
void InstantiatePrimitive()
{
switch (index)
{
case 0:
GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
cube.transform.position = Vector3.zero;
break;
case 1:
GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
sphere.transform.position = Vector3.zero;
break;
case 2:
GameObject plane = GameObject.CreatePrimitive(PrimitiveType.Plane);
plane.transform.position = Vector3.zero;
break;
default:
Debug.LogError("Unrecognized Option");
break;
}
}
}