58 lines
1.1 KiB
C#
58 lines
1.1 KiB
C#
using UnityEngine;
|
|
|
|
namespace OculusSampleFramework
|
|
{
|
|
public class GrabbableCrosshair : MonoBehaviour
|
|
{
|
|
public enum CrosshairState
|
|
{
|
|
Disabled = 0,
|
|
Enabled = 1,
|
|
Targeted = 2
|
|
}
|
|
|
|
private CrosshairState m_state;
|
|
|
|
private Transform m_centerEyeAnchor;
|
|
|
|
[SerializeField]
|
|
private GameObject m_targetedCrosshair;
|
|
|
|
[SerializeField]
|
|
private GameObject m_enabledCrosshair;
|
|
|
|
private void Start()
|
|
{
|
|
m_centerEyeAnchor = GameObject.Find("CenterEyeAnchor").transform;
|
|
}
|
|
|
|
public void SetState(CrosshairState cs)
|
|
{
|
|
m_state = cs;
|
|
switch (cs)
|
|
{
|
|
case CrosshairState.Disabled:
|
|
m_targetedCrosshair.SetActive(false);
|
|
m_enabledCrosshair.SetActive(false);
|
|
break;
|
|
case CrosshairState.Enabled:
|
|
m_targetedCrosshair.SetActive(false);
|
|
m_enabledCrosshair.SetActive(true);
|
|
break;
|
|
case CrosshairState.Targeted:
|
|
m_targetedCrosshair.SetActive(true);
|
|
m_enabledCrosshair.SetActive(false);
|
|
break;
|
|
}
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if (m_state != CrosshairState.Disabled)
|
|
{
|
|
base.transform.LookAt(m_centerEyeAnchor);
|
|
}
|
|
}
|
|
}
|
|
}
|