46 lines
1.3 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|
|
}
|