EditorGUI.MaskField
Declaration
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);Параметры
| Параметр | Описание |
|---|---|
| должность | Прямоугольник на экране, который будет использоваться для этого управления. |
| метка | Метка для поля. |
| маска | Текущая маска для отображения. |
| displayedOption | Строковый массив, содержащий метки для каждого флага. |
| стиль | Факультативно GUIStyle. |
| displayedOptions | Строковый массив, содержащий метки для каждого флага. |
Возвращаемое значение
инт Значение, изменённое пользователем.
Описание
Создает поле для масок.
Примечание: Значения маски для флагов, связанных с каждым пунктом в меню, будут последовательными степенями 2, начиная с 1, i.e. 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<SimpleMaskUsage>(); window.Show(); }
void OnGUI() { flags = EditorGUI.MaskField(new Rect(0, 0, 300, 20), "Player Flags", flags, options); } }