Version: 2019.2
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);

Parameters

position@param position Прямоугольник на экране, использующийся для этого контрола.
labelLabel for the field.
maskThe current mask to display.
displayedOptionA string array containing the labels for each flag.
style@param style Необязательный стиль GUIStyle.
displayedOptionsA string array containing the labels for each flag.

Returns

int @return Значение, измененное пользователем.

Description

Makes a field for masks.

Note: The mask values for the flags associated with each option in the menu will be consecutive powers of 2 starting with 1, i.e. 1, 2, 4, 8, 16, and so on.


Simple window that shows the mask field.

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); } }