Angle GetAngleOfMouse() { SuperspectiveRaycast raycast = Interact.instance.GetRaycastHits(); Vector3 mouseLocation = raycast.hitObject ? raycast.firstObjectHit.point : raycast.finalPosition; Vector3 localMouseLocation = transform.InverseTransformPoint(mouseLocation); return(PolarCoordinate.CartesianToPolar(localMouseLocation).angle); }
InteractableObject FindInteractableObjectHovered() { SuperspectiveRaycast raycastResult = GetRaycastHits(); InteractableObject interactable = null; if (raycastResult.hitObject) { nameOfFirstObjectHit = raycastResult.firstObjectHit.collider.name; GameObject firstObjHit = raycastResult.firstObjectHit.collider.gameObject; interactable = firstObjHit.FindInParentsRecursively <InteractableObject>(); } else { nameOfFirstObjectHit = ""; } return(interactable); }