private void HandleHover() { Ray ray = _mainCamera.ScreenPointToRay(Input.mousePosition); RaycastHit hitInfo; if (Game.Instance.IsInteracting) { if (Physics.Raycast(ray, out hitInfo)) { raycastHandler = hitInfo.collider.GetComponent <IRaycastHandler>(); if (raycastHandler == null) { raycastHandler = hitInfo.collider.GetComponentInParent <IRaycastHandler>(); } } else { raycastHandler = null; } } else { if (Physics.Raycast(ray, out hitInfo, _maxDistance)) { raycastHandler = hitInfo.collider.GetComponent <IRaycastHandler>(); if (raycastHandler == null) { raycastHandler = hitInfo.collider.GetComponentInParent <IRaycastHandler>(); } } else { raycastHandler = null; } } }
public PhysicsCast() { layerMaskTarget = 1 << LayerMask.NameToLayer("OnPointerEvent"); raycastHandler = new RaycastHandler(); }