private void InitPrimaryGrab(VRTK_InteractableObject currentGrabbedObject) { currentGrabbedObject.SaveCurrentState(); currentGrabbedObject.Grabbed(gameObject); currentGrabbedObject.ZeroVelocity(); currentGrabbedObject.ToggleHighlight(false); currentGrabbedObject.ToggleKinematic(false); //Pause collisions (if allowed on object) for a moment whilst sorting out position to prevent clipping issues currentGrabbedObject.PauseCollisions(); if (currentGrabbedObject.grabAttachMechanic == VRTK_InteractableObject.GrabAttachType.Child_Of_Controller) { currentGrabbedObject.ToggleKinematic(true); } }
protected virtual void InitPrimaryUse(VRTK_InteractableObject currentUsedObject) { if (!currentUsedObject.IsValidInteractableController(gameObject, currentUsedObject.allowedGrabControllers)) { usedObject = null; if (interactTongTouch != null && currentUsedObject.IsGrabbed(gameObject)) { interactTongTouch.ForceStopTouching(); } return; } influencingUsedObject = false; currentUsedObject.SaveCurrentState(); currentUsedObject.Grabbed(this); currentUsedObject.ZeroVelocity(); currentUsedObject.isKinematic = false; }
protected override void InitSecondaryGrab(VRTK_InteractableObject currentUsedObject) { influencingGrabbedObject = true; currentUsedObject.Grabbed(this); }