From d2ab30e7a69bfe7efda63ae75812207377917bd3 Mon Sep 17 00:00:00 2001
From: miepzerino <o.skotnik@gmail.com>
Date: Sun, 30 Mar 2025 18:50:27 +0000
Subject: [PATCH] Merge branch 'Flexalon-UI-Layouts' into develop
---
Assets/Flexalon/Runtime/Interaction/FlexalonXRInputProvider.cs | 31 +++++++++++++++++++++++++++++++
1 files changed, 31 insertions(+), 0 deletions(-)
diff --git a/Assets/Flexalon/Runtime/Interaction/FlexalonXRInputProvider.cs b/Assets/Flexalon/Runtime/Interaction/FlexalonXRInputProvider.cs
new file mode 100644
index 0000000..64a7ff3
--- /dev/null
+++ b/Assets/Flexalon/Runtime/Interaction/FlexalonXRInputProvider.cs
@@ -0,0 +1,31 @@
+#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<XRBaseInteractable>();
+ if (_interactable == null)
+ {
+ Debug.LogWarning("FlexalonXRInputProvider should be placed next to an XR Interactable component.");
+ }
+ }
+ }
+}
+
+#endif
\ No newline at end of file
--
Gitblit v1.10.0