// handle hover/exit of ui objects private void CheckForUI() { var _heading = thisTransform.position - offsetTransform.position; var _target = offsetTransform.position + _heading.normalized * interactDistance; if (!Physics.Raycast(offsetTransform.position, _heading.normalized, out RaycastHit hit, interactDistance, uiLayers)) { if (currentSelected != null) { currentSelected.OnExit(); currentSelected = null; } // if touch show ray if (OVRInput.Get(OVRInput.Touch.PrimaryIndexTrigger, controller)) { if (!isGameScene || isMenuOpen) { rend.enabled = true; rend.SetPosition(0, thisTransform.position); rend.SetPosition(1, _target); } } else { if (rend.enabled) { rend.enabled = false; } } }
private void Awake() { currentSelected = null; thisTransform = transform; rend = GetComponent <LineRenderer>(); haptic = GetComponent <ControllerHaptic>(); }
// handle hover/exit of ui objects private void CheckForUI() { if (!Physics.Raycast(thisTransform.position, thisTransform.forward, out RaycastHit hit, interactDistance, uiLayers)) { if (currentSelected != null) { currentSelected.OnExit(); currentSelected = null; } }
// check if ui interaction is happening private void Update() { CheckForUI(); // click ui if possible if (OVRInput.Get(OVRInput.Button.PrimaryIndexTrigger, controller) && canClick && currentSelected != null) { canClick = false; currentSelected.OnClick(); currentSelected.OnExit(); currentSelected = null; StartCoroutine(ResetClick()); } }
// check if ui interaction is happening private void Update() { CheckForUI(); // click ui if possible if (InputBridgeBase.instance.Interact && canClick && currentSelected != null) { canClick = false; currentSelected.OnClick(); currentSelected.OnExit(); currentSelected = null; StartCoroutine(ResetClick()); } }
private void OnDisable() { currentSelected = null; SceneManager.activeSceneChanged -= ResetMenuState; }
private void OnDisable() { currentSelected = null; }
private void Awake() { currentSelected = null; thisTransform = transform; }