protected virtual void PointerSet() { if (!pointerContactTarget) { return; } SteamVR_InteractableObject interactableObject = pointerContactTarget.GetComponent <SteamVR_InteractableObject>(); if (interactableObject && interactableObject.pointerActivatesUseAction) { if (interactableObject.IsUsing()) { Debug.Log("interactableObject.StopUsing(this.gameObject);============"); interactableObject.StopUsing(this.gameObject); } else if (!interactableObject.holdButtonToUse) { Debug.Log("interactableObject.StartUsing(this.gameObject);"); interactableObject.StartUsing(this.gameObject); } } if (!playAreaCursorCollided && (interactableObject == null || !interactableObject.pointerActivatesUseAction)) { OnWorldPointerDestinationSet(SetPointerEvent(controllerIndex, pointerContactDistance, pointerContactTarget, destinationPosition)); } }
protected virtual void PointerOut() { if (!pointerContactTarget) { return; } OnWorldPointerOut(SetPointerEvent(controllerIndex, pointerContactDistance, pointerContactTarget, destinationPosition)); SteamVR_InteractableObject interactableObject = pointerContactTarget.GetComponent <SteamVR_InteractableObject>(); if (interactableObject && interactableObject.pointerActivatesUseAction && interactableObject.holdButtonToUse) { interactableObject.StopUsing(this.gameObject); } }