Files
UltimateFishing/Assets/Scripts/Assembly-CSharp/OVRTouchSample/TouchController.cs
2026-02-21 16:45:37 +08:00

46 lines
1.3 KiB
C#

using UnityEngine;
namespace OVRTouchSample
{
public class TouchController : MonoBehaviour
{
[SerializeField]
private OVRInput.Controller m_controller;
[SerializeField]
private Animator m_animator;
private bool m_restoreOnInputAcquired;
private void Update()
{
m_animator.SetFloat("Button 1", (!OVRInput.Get(OVRInput.Button.One, m_controller)) ? 0f : 1f);
m_animator.SetFloat("Button 2", (!OVRInput.Get(OVRInput.Button.Two, m_controller)) ? 0f : 1f);
m_animator.SetFloat("Joy X", OVRInput.Get(OVRInput.Axis2D.PrimaryThumbstick, m_controller).x);
m_animator.SetFloat("Joy Y", OVRInput.Get(OVRInput.Axis2D.PrimaryThumbstick, m_controller).y);
m_animator.SetFloat("Grip", OVRInput.Get(OVRInput.Axis1D.PrimaryHandTrigger, m_controller));
m_animator.SetFloat("Trigger", OVRInput.Get(OVRInput.Axis1D.PrimaryIndexTrigger, m_controller));
OVRManager.InputFocusAcquired += OnInputFocusAcquired;
OVRManager.InputFocusLost += OnInputFocusLost;
}
private void OnInputFocusLost()
{
if (base.gameObject.activeInHierarchy)
{
base.gameObject.SetActive(false);
m_restoreOnInputAcquired = true;
}
}
private void OnInputFocusAcquired()
{
if (m_restoreOnInputAcquired)
{
base.gameObject.SetActive(true);
m_restoreOnInputAcquired = false;
}
}
}
}