Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

EditorGUI.EnumPopup

Объявление

public static Enum EnumPopup(Rect position, Enum selected, GUIStyle style = EditorStyles.popup);

public static Enum EnumPopup(Rect position, string label, Enum selected, GUIStyle style = EditorStyles.popup);

public static Enum EnumPopup(Rect position, GUIContent label, Enum selected, GUIStyle style = EditorStyles.popup);

public static Enum EnumPopup(Rect position, GUIContent label, Enum selected, Func checkEnabled = null, bool includeObsolete = false, GUIStyle style = null);

Параметры

position Прямоугольник на экране использовать для поля.
label Необязательная метка перед полем.
selected Параметр enum, отображаемый в поле.
style Необязательный стиль GUIStyle.
includeObsolete Установите значение true, чтобы включить значения Enum с ObsoleteAttribute. Установите значение false, чтобы исключить значения Enum с ObsoleteAttribute.
checkEnabled Метод вызывается для каждого отображаемого значения Enum. Указанный метод должен возвращать true, если опция может быть выбрана, и false в противном случае.

Возвращает

Enum Параметр перечисления, выбранный пользователем.

Описание

Создает всплывающее поле выбора enum.

Принимает текущее выбранное значение перечисления в качестве параметра и возвращает значение перечисления, выбранное пользователем.

Всплывающее окно Enum в окне редактора.
using UnityEditor; using UnityEngine; // Показывает информацию об GameObject в зависимости от выбранной опции public enum OPTIONS { Position = 0, Rotation = 1, Scale = 2, } public class EditorGUIEnumPopup : EditorWindow { OPTIONS display = OPTIONS.Position; [MenuItem("Examples/EditorGUI Enum Popup usage")] static void Init() { EditorWindow window = GetWindow(typeof(EditorGUIEnumPopup)); window.position = new Rect(0, 0, 220, 80); window.Show(); } void OnGUI() { Transform selectedObj = Selection.activeTransform; display = (OPTIONS)EditorGUI.EnumPopup( new Rect(3, 3, position.width - 6, 15), "Show:", display); EditorGUI.LabelField(new Rect(0, 20, position.width, 15), "Name:", selectedObj ? selectedObj.name : "Select an Object"); if (selectedObj) { switch (display) { case OPTIONS.Position: EditorGUI.LabelField(new Rect(0, 40, position.width, 15), "Position:", selectedObj.position.ToString()); break; case OPTIONS.Rotation: EditorGUI.LabelField(new Rect(0, 40, position.width, 15), "Rotation:", selectedObj.rotation.ToString()); break; case OPTIONS.Scale: EditorGUI.LabelField(new Rect(0, 40, position.width, 15), "Scale:", selectedObj.localScale.ToString()); break; default: Debug.LogError("Unrecognized Option"); break; } } if (GUI.Button(new Rect(3, position.height - 25, position.width - 6, 24), "Close")) this.Close(); } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3