From e08a7aeefa7cd7efc86ee8d54758bd3c5bd91dbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=80=9D=E6=B5=B7?= <1464576565@qq.com> Date: Wed, 17 Dec 2025 14:16:48 +0800 Subject: [PATCH] fix --- Runtime/UXComponent/Selectable/UXSelectable.cs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Runtime/UXComponent/Selectable/UXSelectable.cs b/Runtime/UXComponent/Selectable/UXSelectable.cs index 94fa910..5e70536 100644 --- a/Runtime/UXComponent/Selectable/UXSelectable.cs +++ b/Runtime/UXComponent/Selectable/UXSelectable.cs @@ -453,7 +453,9 @@ namespace UnityEngine.UI public virtual UXSelectable FindSelectableOnLeft() { if (m_Navigation.mode == UXNavigation.Mode.Explicit) - return m_Navigation.selectOnLeft; + if (m_Navigation.selectOnLeft.IsInteractable() && m_Navigation.mode != UXNavigation.Mode.None) + return m_Navigation.selectOnLeft; + if ((m_Navigation.mode & UXNavigation.Mode.Horizontal) != 0) return FindSelectable(transform.rotation * Vector3.left); return null; @@ -462,7 +464,8 @@ namespace UnityEngine.UI public virtual UXSelectable FindSelectableOnRight() { if (m_Navigation.mode == UXNavigation.Mode.Explicit) - return m_Navigation.selectOnRight; + if (m_Navigation.selectOnRight.IsInteractable() && m_Navigation.mode != UXNavigation.Mode.None) + return m_Navigation.selectOnRight; if ((m_Navigation.mode & UXNavigation.Mode.Horizontal) != 0) return FindSelectable(transform.rotation * Vector3.right); return null; @@ -471,7 +474,8 @@ namespace UnityEngine.UI public virtual UXSelectable FindSelectableOnUp() { if (m_Navigation.mode == UXNavigation.Mode.Explicit) - return m_Navigation.selectOnUp; + if (m_Navigation.selectOnUp.IsInteractable() && m_Navigation.mode != UXNavigation.Mode.None) + return m_Navigation.selectOnUp; if ((m_Navigation.mode & UXNavigation.Mode.Vertical) != 0) return FindSelectable(transform.rotation * Vector3.up); return null; @@ -480,7 +484,8 @@ namespace UnityEngine.UI public virtual UXSelectable FindSelectableOnDown() { if (m_Navigation.mode == UXNavigation.Mode.Explicit) - return m_Navigation.selectOnDown; + if (m_Navigation.selectOnDown.IsInteractable() && m_Navigation.mode != UXNavigation.Mode.None) + return m_Navigation.selectOnDown; if ((m_Navigation.mode & UXNavigation.Mode.Vertical) != 0) return FindSelectable(transform.rotation * Vector3.down); return null;