fix
This commit is contained in:
parent
57972c6900
commit
4546da4928
@ -269,12 +269,24 @@ namespace UnityEngine.UI
|
|||||||
if (m_Navigation != null)
|
if (m_Navigation != null)
|
||||||
{
|
{
|
||||||
var modeProp = m_Navigation.FindPropertyRelative("m_Mode");
|
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)
|
EditorGUI.BeginChangeCheck();
|
||||||
|
EditorGUI.showMixedValue = modeProp.hasMultipleDifferentValues;
|
||||||
|
|
||||||
|
UXNavigation.Mode cur = (UXNavigation.Mode)modeProp.intValue;
|
||||||
|
UXNavigation.Mode next = (UXNavigation.Mode)EditorGUILayout.EnumFlagsField("Navigation", cur);
|
||||||
|
|
||||||
|
EditorGUI.showMixedValue = false;
|
||||||
|
if (EditorGUI.EndChangeCheck())
|
||||||
|
{
|
||||||
|
modeProp.intValue = (int)next;
|
||||||
|
}
|
||||||
|
|
||||||
|
int explicitMask = (int)UXNavigation.Mode.Explicit;
|
||||||
|
int value = modeProp.intValue;
|
||||||
|
bool onlyExplicit = !modeProp.hasMultipleDifferentValues && (value & explicitMask) == explicitMask && (value & ~explicitMask) == 0;
|
||||||
|
|
||||||
|
if (onlyExplicit)
|
||||||
{
|
{
|
||||||
EditorGUILayout.PropertyField(m_Navigation.FindPropertyRelative("m_SelectOnUp"));
|
EditorGUILayout.PropertyField(m_Navigation.FindPropertyRelative("m_SelectOnUp"));
|
||||||
EditorGUILayout.PropertyField(m_Navigation.FindPropertyRelative("m_SelectOnDown"));
|
EditorGUILayout.PropertyField(m_Navigation.FindPropertyRelative("m_SelectOnDown"));
|
||||||
@ -282,6 +294,7 @@ namespace UnityEngine.UI
|
|||||||
EditorGUILayout.PropertyField(m_Navigation.FindPropertyRelative("m_SelectOnRight"));
|
EditorGUILayout.PropertyField(m_Navigation.FindPropertyRelative("m_SelectOnRight"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
serializedObject.ApplyModifiedProperties();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -294,7 +307,6 @@ namespace UnityEngine.UI
|
|||||||
{
|
{
|
||||||
(target as UXSelectable).Interactable = interactable;
|
(target as UXSelectable).Interactable = interactable;
|
||||||
m_Interactable.boolValue = interactable;
|
m_Interactable.boolValue = interactable;
|
||||||
// keep selection state consistent
|
|
||||||
var selProp = serializedObject.FindProperty("m_SelectionState");
|
var selProp = serializedObject.FindProperty("m_SelectionState");
|
||||||
if (selProp != null)
|
if (selProp != null)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user