修改 自定义ui navigation

This commit is contained in:
陈思海 2025-12-16 16:48:44 +08:00
parent cff93a01a6
commit 57972c6900
2 changed files with 21 additions and 5 deletions

View File

@ -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();

View File

@ -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
{