From 8263edd59284aba390aca011d25b79efecef4c48 Mon Sep 17 00:00:00 2001 From: pryazha Date: Wed, 2 Jul 2025 08:46:23 -0700 Subject: init --- .../Controller/Scripts/ActionToVisibility.cs | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Assets/Samples/OpenXR Plugin/1.14.3/Controller/Scripts/ActionToVisibility.cs (limited to 'Assets/Samples/OpenXR Plugin/1.14.3/Controller/Scripts/ActionToVisibility.cs') diff --git a/Assets/Samples/OpenXR Plugin/1.14.3/Controller/Scripts/ActionToVisibility.cs b/Assets/Samples/OpenXR Plugin/1.14.3/Controller/Scripts/ActionToVisibility.cs new file mode 100644 index 0000000..b178975 --- /dev/null +++ b/Assets/Samples/OpenXR Plugin/1.14.3/Controller/Scripts/ActionToVisibility.cs @@ -0,0 +1,40 @@ +using System.Collections; +using UnityEngine.InputSystem; +using UnityEngine.XR.OpenXR.Input; + +namespace UnityEngine.XR.OpenXR.Samples.ControllerSample +{ + public class ActionToVisibility : MonoBehaviour + { + [SerializeField] private InputActionReference _actionReference = null; + + [SerializeField] private GameObject _target = null; + + private void OnEnable() + { + if (null == _target) + _target = gameObject; + + _target.SetActive(false); + + if (_actionReference != null && _actionReference.action != null) + StartCoroutine(UpdateVisibility()); + } + + private IEnumerator UpdateVisibility() + { + while (isActiveAndEnabled) + { + if (_actionReference.action != null && + _actionReference.action.controls.Count > 0 && + _actionReference.action.controls[0].device != null && + OpenXRInput.TryGetInputSourceName(_actionReference.action, 0, out var actionName, OpenXRInput.InputSourceNameFlags.Component, _actionReference.action.controls[0].device)) + { + _target.SetActive(true); + break; + } + yield return new WaitForSeconds(1.0f); + } + } + } +} -- cgit v1.2.3-70-g09d2