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

EditorGUI.EnumFlagsField

Объявление

public static Enum EnumFlagsField(Rect position, Enum enumValue);

public static Enum EnumFlagsField(Rect position, Enum enumValue, GUIStyle style);

public static Enum EnumFlagsField(Rect position, string label, Enum enumValue);

public static Enum EnumFlagsField(Rect position, string label, Enum enumValue, GUIStyle style);

public static Enum EnumFlagsField(Rect position, GUIContent label, Enum enumValue);

public static Enum EnumFlagsField(Rect position, GUIContent label, Enum enumValue, GUIStyle style);

public static Enum EnumFlagsField(Rect position, GUIContent label, Enum enumValue, bool includeObsolete = false, GUIStyle style = null);

Параметры

position Прямоугольник на экране для использования в качестве поля enum flags.
label Необязательная метка для отображения перед полем флагов перечисления.
enumValue Значение флагов перечисления (поддерживает значения перечисления только для типов перечисления с int в качестве базового типа).
style Optional GUIStyle.
includeObsolete Установите значение true, чтобы включить значения Enum с ObsoleteAttribute. Установите значение false, чтобы исключить значения Enum с ObsoleteAttribute.

Возвращает

Enum Значение флагов перечисления изменено пользователем. Это битовая маска выбора, где каждый бит представляет индекс значения Enum. (Обратите внимание, что это возвращаемое значение само по себе не является Enum).

Описание

Отображает меню с параметрами для каждого значения перечислимого типа при нажатии. Параметр для значения 0 с именем "Ничего" и вариант для значения ~0 (то есть все биты установлены ) с названием «Все» всегда отображаются в верхней части меню. Имена значений 0 и ~0 можно переопределить, определив эти значения в типе перечисления.

Примечание. Этот метод поддерживает только перечисления, базовые типы которых поддерживаются системой сериализации Unity (sbyte, short, int, byte, ushort или uint). Для перечислений, поддерживаемых беззнаковым типом, параметру «Все» должно быть присвоено значение, соответствующее всем установленным битам (т. е. ~0 в непроверяемом контексте или MaxValue константа для типа).

Простое окно редактора, в котором отображается поле enum flags.
using UnityEditor; using UnityEngine; class EnumFlagsFieldExample : EditorWindow { enum ExampleFlagsEnum { None = 0, // Custom name for "Nothing" option A = 1 << 0, B = 1 << 1, AB = A | B, // Combination of two flags C = 1 << 2, All = ~0, // Custom name for "Everything" option } ExampleFlagsEnum m_Flags; [MenuItem("Examples/EnumFlagsField Example")] static void OpenWindow() { GetWindow().Show(); } void OnGUI() { m_Flags = (ExampleFlagsEnum)EditorGUI.EnumFlagsField(new Rect(5, 5, 300, 20), m_Flags); } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3