Объявление
public static int MaskField(Rect position, GUIContent label, int mask, string[] displayedOptions, GUIStyle style = EditorStyles.popup);public static int MaskField(Rect position, string label, int mask, string[] displayedOptions, GUIStyle style = EditorStyles.popup);
public static int MaskField(Rect position, int mask, string[] displayedOptions, GUIStyle style = EditorStyles.popup);
Параметры
position | Прямоугольник на экране, чтобы использовать для этого элемента управления. |
label | Метка для поля. |
mask | Текущая маска для отображения. |
displayedOption | Массив строк, содержащий метки для каждого флага. |
style | Необязательный стиль GUIStyle. |
displayedOptions | Массив строк, содержащий метки для каждого флага. |
Возвращает
int Значение изменено пользователем.
Описание
Создает поле для масок.
Примечание. Значения маски для флажков, связанных с каждым параметром в меню, представляют собой последовательные степени двойки, начиная с 1, т. е. 1, 2, 4, 8, 16 и т. д.

using UnityEngine;
using UnityEditor;
class SimpleMaskUsage : EditorWindow
{
int flags = 0;
string[] options = { "CanJump", "CanShoot", "CanSwim" };
[MenuItem("Examples/Mask Field Usage")]
static void Init()
{
var window = GetWindow();
window.Show();
}
void OnGUI()
{
flags = EditorGUI.MaskField(new Rect(0, 0, 300, 20), "Player Flags", flags, options);
}
}