summaryrefslogtreecommitdiff
path: root/Assets/Samples/OpenXR Plugin/1.14.3/Controller/Scripts/ActionToAxis.cs
blob: b9a483eeb62c042794833e6d781589d8fa8687b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using UnityEngine.UI;
using UnityEngine.InputSystem;

namespace UnityEngine.XR.OpenXR.Samples.ControllerSample
{
    public class ActionToAxis : ActionToControl
    {
        [Tooltip("Slider controlled by the action value")]
        [SerializeField] private Slider _slider = null;

        protected override void OnActionPerformed(InputAction.CallbackContext ctx) => UpdateValue(ctx);
        protected override void OnActionStarted(InputAction.CallbackContext ctx) => UpdateValue(ctx);
        protected override void OnActionCanceled(InputAction.CallbackContext ctx) => UpdateValue(ctx);

        private void UpdateValue(InputAction.CallbackContext ctx) => _slider.value = ctx.ReadValue<float>();
    }
}