Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public override void Process() {
- // Save the previous Game Object
- GameObject gazeObjectPrevious = GetCurrentGameObject();
- CastRayFromGaze();
- // Send enter events and update the highlight.
- GameObject gameobjectAtGaze = pointerData.pointerCurrentRaycast.gameObject;
- // Check if there is a gameObject at gaze (with an eventTrigger)
- if (gameobjectAtGaze) {
- // Check if it has an InteractiveObject script
- interactiveObjectScript = gameobjectAtGaze.GetComponent<InteractiveObject>();
- // Object has InteractiveObject script, and is within 'interaction' distance
- if (interactiveObjectScript) {
- // Check distance on object
- if (Vector3.Distance(gameobjectAtGaze.transform.position, Camera.main.transform.position) <= interactiveObjectScript.distance) {
- // Process Normally
- UpdateCurrentObject();
- UpdateReticle(gazeObjectPrevious);
- }
- // Else there is an object, it has InteractiveObject script, but it is outside of distance.
- else {
- // Pointer has exited
- HandlePointerExitAndEnter(pointerData, null);
- // Reset pointer data (pointerData.reset does not work)
- pointerData = new PointerEventData(eventSystem);
- // Update the Reticle
- UpdateReticle(gazeObjectPrevious);
- }
- }
- // No InteractiveObject Script
- else {
- // Process Normally
- UpdateCurrentObject();
- UpdateReticle(gazeObjectPrevious);
- }
- // Null, no gameobject (looking into a Skybox)
- }
- else {
- // Process Normally
- UpdateCurrentObject();
- UpdateReticle(gazeObjectPrevious);
- }
- // Handle input
- if (!Input.GetMouseButtonDown(0) && Input.GetMouseButton(0)) {
- HandleDrag();
- }
- else if (Time.unscaledTime - pointerData.clickTime < clickTime) {
- // Delay new events until clickTime has passed.
- }
- else if (!pointerData.eligibleForClick &&
- (GvrViewer.Instance.Triggered || Input.GetMouseButtonDown(0))) {
- // New trigger action.
- HandleTrigger();
- }
- else if (!GvrViewer.Instance.Triggered && !Input.GetMouseButton(0)) {
- // Check if there is a pending click to handle.
- HandlePendingClick();
- }
- }
- /// @endcond
Advertisement
Add Comment
Please, Sign In to add comment