void OnTriggerStay(Collider collider) { if (touchedObject == null && IsObjectInteractable(collider.gameObject)) { touchedObject = collider.gameObject; OnControllerTouchInteractableObject(SetControllerInteractEvent(touchedObject)); touchedObject.GetComponent <SteamVR_InteractableObject>().ToggleHighlight(true, globalTouchHighlightColor); if (trackedController.IsControllerVisible() && hideControllerOnTouch) { trackedController.ToggleControllerModel(false); } } }
void UseInteractedObject() { if (usingObject == null && IsObjectUsable(interactTouch.GetTouchedObject())) { usingObject = interactTouch.GetTouchedObject(); OnControllerUseInteractableObject(interactTouch.SetControllerInteractEvent(usingObject)); usingObject.GetComponent <SteamVR_InteractableObject>().StartUsing(this.gameObject); if (hideControllerOnUse) { trackedController.ToggleControllerModel(false); } } }
void GrabInteractedObject() { if (controllerAttachJoint == null && grabbedObject == null && IsObjectGrabbable(interactTouch.GetTouchedObject())) { grabbedObject = interactTouch.GetTouchedObject(); OnControllerGrabInteractableObject(interactTouch.SetControllerInteractEvent(grabbedObject)); grabbedObject.GetComponent <SteamVR_InteractableObject>().Grabbed(this.gameObject); if (hideControllerOnGrab) { trackedController.ToggleControllerModel(false); } SnapObjectToGrabToController(grabbedObject); } }