#if UNITY_XRI using UnityEngine; using UnityEngine.XR.Interaction.Toolkit; namespace Flexalon { public class FlexalonXRInputProvider : MonoBehaviour, InputProvider { public InputMode InputMode => InputMode.External; public bool Active => _selected; public Ray Ray => default; public Vector3 UIPointer => default; public GameObject ExternalFocusedObject => (_hovered || _selected) ? gameObject : null; private XRBaseInteractable _interactable; private bool _hovered => _interactable?.isHovered ?? false; private bool _selected => _interactable?.isSelected ?? false; public void Awake() { _interactable = GetComponent(); if (_interactable == null) { Debug.LogWarning("FlexalonXRInputProvider should be placed next to an XR Interactable component."); } } } } #endif