using System.Collections.Generic; using UnityEditor.XR.Interaction.Toolkit.Utilities; using UnityEngine; using UnityEngine.XR.Interaction.Toolkit; namespace UnityEditor.XR.Interaction.Toolkit { /// /// Class used to draw an . /// [CustomPropertyDrawer(typeof(InteractionLayerMask))] class InteractionLayerMaskDrawer : PropertyDrawer { static readonly List s_DisplayOptions = new List(); static readonly List s_ValueOptions = new List(); static void SelectInteractionLayerSettings() { Selection.activeObject = InteractionLayerSettings.Instance; } /// public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { var maskProperty = property.FindPropertyRelative("m_Bits"); label = EditorGUI.BeginProperty(position, label, maskProperty); s_DisplayOptions.Clear(); s_ValueOptions.Clear(); InteractionLayerSettings.Instance.GetLayerNamesAndValues(s_DisplayOptions, s_ValueOptions); XRInteractionEditorGUI.PropertyMaskField(position, label, maskProperty, s_DisplayOptions, s_ValueOptions, SelectInteractionLayerSettings); EditorGUI.EndProperty(); } } }