/// <summary> /// Draws a LayerMask field with the given style. /// </summary> /// <param name="position">Position.</param> /// <param name="label">Label.</param> /// <param name="prop">Property.</param> /// <param name="style">Style.</param> public static void LayerMaskField(Rect position, GUIContent label, SerializedProperty prop, GUIStyle style) { label = EditorGUI.BeginProperty(position, label, prop); EditorGUI.BeginChangeCheck(); LayerMaskUtils.GetMaskFieldNames(ref s_LayerNames); int mappedMask = LayerMaskUtils.MapToMaskField(prop.intValue); mappedMask = EditorGUI.MaskField(position, label, mappedMask, s_LayerNames, style); if (EditorGUI.EndChangeCheck()) { LayerMask newMask = LayerMaskUtils.MapFromMaskField(mappedMask); prop.SetMask(newMask); } EditorGUI.EndProperty(); }