private void HandlePendingClick()
{
if (!pointerData.eligibleForClick && !pointerData.dragging) {
return;
}
if (gazePointer != null) {
Camera camera = pointerData.enterEventCamera;
gazePointer.OnGazeTriggerEnd(camera);
}
var go = pointerData.pointerCurrentRaycast.gameObject;
// Send pointer up and click events.
ExecuteEvents.Execute(pointerData.pointerPress, pointerData, ExecuteEvents.pointerUpHandler);
if (pointerData.eligibleForClick) {
ExecuteEvents.Execute(pointerData.pointerPress, pointerData, ExecuteEvents.pointerClickHandler);
} else if (pointerData.dragging) {
ExecuteEvents.ExecuteHierarchy(go, pointerData, ExecuteEvents.dropHandler);
ExecuteEvents.Execute(pointerData.pointerDrag, pointerData, ExecuteEvents.endDragHandler);
}
// Clear the click state.
pointerData.pointerPress = null;
pointerData.rawPointerPress = null;
pointerData.eligibleForClick = false;
pointerData.clickCount = 0;
pointerData.clickTime = 0;
pointerData.pointerDrag = null;
pointerData.dragging = false;
}