protected virtual void SelectionButtonAction(object sender, ControllerInteractionEventArgs e) { if (EnabledPointerRenderer() && (IsPointerActive() || wasActivated)) { wasActivated = false; controllerIndex = e.controllerIndex; RaycastHit destinationHit = pointerRenderer.GetDestinationHit(); AttemptUseOnSet(destinationHit.transform); if (destinationHit.transform && IsPointerActive() && pointerRenderer.ValidPlayArea() && !PointerActivatesUseAction(pointerInteractableObject)) { OnDestinationMarkerSet(SetDestinationMarkerEvent(destinationHit.distance, destinationHit.transform, destinationHit, destinationHit.point, controllerIndex)); } } }
protected virtual void ExecuteSelectionButtonAction() { if (EnabledPointerRenderer() && CanSelect() && (IsPointerActive() || wasActivated)) { wasActivated = false; RaycastHit pointerRendererDestinationHit = pointerRenderer.GetDestinationHit(); AttemptUseOnSet(pointerRendererDestinationHit.transform); if (pointerRendererDestinationHit.transform && IsPointerActive() && pointerRenderer.ValidPlayArea() && !PointerActivatesUseAction(pointerInteractableObject) && pointerRenderer.IsValidCollision()) { ResetHoverSelectionTimer(pointerRendererDestinationHit.collider); ResetSelectionTimer(); OnDestinationMarkerSet(SetDestinationMarkerEvent(pointerRendererDestinationHit.distance, pointerRendererDestinationHit.transform, pointerRendererDestinationHit, pointerRendererDestinationHit.point, controllerReference, false, GetCursorRotation())); } } }