From f4cf47c8eaa6adc17ae14f5f0735a0acb9645914 Mon Sep 17 00:00:00 2001 From: fuqunaga Date: Fri, 29 Nov 2024 16:28:19 +0900 Subject: [PATCH] fix UIToolkitUtility build error at Unity2022 --- .../Runtime/VisualElement/Utilities/UIToolkitUtility.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Packages/ga.fuquna.rosettaui.uitoolkit/Runtime/VisualElement/Utilities/UIToolkitUtility.cs b/Packages/ga.fuquna.rosettaui.uitoolkit/Runtime/VisualElement/Utilities/UIToolkitUtility.cs index 0a16a106..e3540d32 100644 --- a/Packages/ga.fuquna.rosettaui.uitoolkit/Runtime/VisualElement/Utilities/UIToolkitUtility.cs +++ b/Packages/ga.fuquna.rosettaui.uitoolkit/Runtime/VisualElement/Utilities/UIToolkitUtility.cs @@ -9,6 +9,9 @@ public static class UIToolkitUtility private static MethodInfo _focusControllerGetLeafFocusedElementMethodInfo; #if UNITY_2023_1_OR_NEWER private static PropertyInfo _baseBoolFieldAcceptClicksIfDisabledPropertyInfo; +#else + private static FieldInfo _baseBoolFieldClickableFieldInfo; + private static PropertyInfo _clickableAcceptClicksIfDisabledPropertyInfo; #endif public static bool WillUseKeyInput(IPanel panel) @@ -30,7 +33,11 @@ public static void SetAcceptClicksIfDisabled(BaseBoolField baseBoolField, bool f _baseBoolFieldAcceptClicksIfDisabledPropertyInfo ??= typeof(BaseBoolField).GetProperty("acceptClicksIfDisabled", BindingFlags.NonPublic | BindingFlags.Instance); _baseBoolFieldAcceptClicksIfDisabledPropertyInfo?.SetValue(baseBoolField, flag); #else - baseBoolField.m_Clickable.acceptClicksIfDisabled = flag; + _baseBoolFieldClickableFieldInfo ??= typeof(BaseBoolField).GetField("m_Clickable", BindingFlags.NonPublic | BindingFlags.Instance); + _clickableAcceptClicksIfDisabledPropertyInfo ??= typeof(Clickable).GetProperty("acceptClicksIfDisabled", BindingFlags.NonPublic | BindingFlags.Instance); + + var baseBoolFieldClickable = _baseBoolFieldClickableFieldInfo?.GetValue(baseBoolField); + _clickableAcceptClicksIfDisabledPropertyInfo?.SetValue(baseBoolFieldClickable, flag); #endif } }