public void Grab() { if (state == GrabbableState.hovering) { state = GrabbableState.grabbed; CheckCollider(); } }
private void OnTriggerExit(Collider other) { if (currentHoverinGrabber != null && state == GrabbableState.hovering) { GrabberBehaviour otherGrabber = other.gameObject.GetComponentInParent <GrabberBehaviour>(); if (otherGrabber != null && currentHoverinGrabber == otherGrabber) { currentHoverinGrabber = null; state = GrabbableState.free; } } }
private void OnTriggerStay(Collider other) { if (state == GrabbableState.free) { var grabber = other.gameObject.GetComponentInParent <GrabberBehaviour>(); if (grabber != null) { state = GrabbableState.hovering; currentHoverinGrabber = grabber; } } }