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); } } } }