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

namespace UnityEngine.XR.OpenXR.Samples.ControllerSample
{
    public class ActionToVector2 : ActionToControl
    {
        [SerializeField] public RectTransform _handle = null;

        protected override void OnActionPerformed(InputAction.CallbackContext ctx) => UpdateHandle(ctx);

        protected override void OnActionStarted(InputAction.CallbackContext ctx) => UpdateHandle(ctx);

        protected override void OnActionCanceled(InputAction.CallbackContext ctx) => UpdateHandle(ctx);

        private void UpdateHandle(InputAction.CallbackContext ctx)
        {
            _handle.anchorMin = _handle.anchorMax = (ctx.ReadValue<Vector2>() + Vector2.one) * 0.5f;
        }
    }
}