#if ENABLE_UITK_BINDERS using UnityEngine.UIElements; namespace Klak.Vfx { [System.Serializable] public sealed class UIFieldReference { public UIDocument Component; public string ElementName; public BaseField Field => GetField(); BaseField _cached; public void ClearReference() => _cached = null; public override string ToString() => $"{Component?.name ?? "(null)"}:{ElementName}"; BaseField GetField() { if (_cached == null) _cached = Component?.rootVisualElement.Q>(ElementName); return _cached; } } } // namespace Klak.Vfx #endif