VR4Medical/ICI/Library/PackageCache/com.unity.xr.openxr@3903c1059bcf/Samples~/Controller/Scripts/ActionToButton.cs
2025-07-29 13:45:50 +03:00

46 lines
1.1 KiB
C#

using System;
using System.Collections;
using UnityEngine.InputSystem;
using UnityEngine.UI;
using UnityEngine.XR.Management;
using UnityEngine.XR.OpenXR.Input;
namespace UnityEngine.XR.OpenXR.Samples.ControllerSample
{
public class ActionToButton : ActionToControl
{
[SerializeField] private Image _image = null;
[SerializeField] private Color _normalColor = Color.red;
[SerializeField] private Color _pressedColor = Color.green;
private void Awake()
{
if (_image != null)
{
_image.enabled = false;
_image.color = _normalColor;
}
}
protected override void OnActionStarted(InputAction.CallbackContext ctx)
{
if (_image != null)
_image.color = _pressedColor;
}
protected override void OnActionCanceled(InputAction.CallbackContext ctx)
{
if (_image != null)
_image.color = _normalColor;
}
protected override void OnActionBound()
{
if (_image != null)
_image.enabled = true;
}
}
}