diff --git a/Editor/UX/Selectable/UXSelectableEditor.cs b/Editor/UX/Selectable/UXSelectableEditor.cs index f256c93..d84b2c0 100644 --- a/Editor/UX/Selectable/UXSelectableEditor.cs +++ b/Editor/UX/Selectable/UXSelectableEditor.cs @@ -267,7 +267,23 @@ namespace UnityEngine.UI protected void DrawSelectableInspector() { if (m_Navigation != null) - EditorGUILayout.PropertyField(m_Navigation.FindPropertyRelative("m_Mode"), new GUIContent("Navigation")); + { + var modeProp = m_Navigation.FindPropertyRelative("m_Mode"); + EditorGUILayout.PropertyField(modeProp, new GUIContent("Navigation")); + int value = modeProp.intValue; + int explicitMask = (int)UXNavigation.Mode.Explicit; + bool onlyExplicit = (value & explicitMask) == explicitMask && (value & ~explicitMask) == 0; + + if (!modeProp.hasMultipleDifferentValues && onlyExplicit) + { + EditorGUILayout.PropertyField(m_Navigation.FindPropertyRelative("m_SelectOnUp")); + EditorGUILayout.PropertyField(m_Navigation.FindPropertyRelative("m_SelectOnDown")); + EditorGUILayout.PropertyField(m_Navigation.FindPropertyRelative("m_SelectOnLeft")); + EditorGUILayout.PropertyField(m_Navigation.FindPropertyRelative("m_SelectOnRight")); + } + + } + DrawToggleShowNavigation(); diff --git a/Runtime/UXComponent/Selectable/UXNavigation.cs b/Runtime/UXComponent/Selectable/UXNavigation.cs index 11dfd1f..0f6b962 100644 --- a/Runtime/UXComponent/Selectable/UXNavigation.cs +++ b/Runtime/UXComponent/Selectable/UXNavigation.cs @@ -21,10 +21,10 @@ namespace UnityEngine.UI [HideInInspector] [SerializeField] private bool m_WrapAround; - [HideInInspector] [SerializeField] private UXSelectable m_SelectOnUp; - [HideInInspector] [SerializeField] private UXSelectable m_SelectOnDown; - [HideInInspector] [SerializeField] private UXSelectable m_SelectOnLeft; - [HideInInspector] [SerializeField] private UXSelectable m_SelectOnRight; + [SerializeField] private UXSelectable m_SelectOnUp; + [SerializeField] private UXSelectable m_SelectOnDown; + [SerializeField] private UXSelectable m_SelectOnLeft; + [SerializeField] private UXSelectable m_SelectOnRight; public Mode mode {