Пример #1
0
 void OnDisable()
 {
     // Is there a current target?
     if (currentTarget != null)
     {
         currentTarget.OnGazeExit();
     }
     // Tell pointer to exit target.
     if (pointer != null)
     {
         // Is there a pending trigger?
         if (isTriggered)
         {
             pointer.OnGazeTriggerEnd(cam);
         }
         if (currentGazeObject != null)
         {
             pointer.OnGazeExit(cam, currentGazeObject);
         }
         pointer.OnGazeDisabled();
     }
     currentGazeObject = null;
     currentTarget     = null;
     isTriggered       = false;
 }
Пример #2
0
    private void HandlePendingClick()
    {
        if (!pointerData.eligibleForClick && !pointerData.dragging)
        {
            return;
        }

        if (gazePointer != null)
        {
            Camera camera = pointerData.enterEventCamera;
            gazePointer.OnGazeTriggerEnd(camera);
        }

        var go = pointerData.pointerCurrentRaycast.gameObject;

        if (pointerData.eligibleForClick && pointerData.pointerPress == null)
        {
            var selected = ExecuteEvents.GetEventHandler <IPointerClickHandler>(go);
            pointerData.clickCount   = 1;
            pointerData.button       = PointerEventData.InputButton.Left;
            pointerData.pointerPress = selected;
            pointerData.clickTime    = Time.time;
        }

        // 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;
    }
Пример #3
0
    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)
        {
            if (go == pointerDownGameObject)
            {
                //print ("clickkkkk");
                ExecuteEvents.Execute(pointerData.pointerPress, pointerData, ExecuteEvents.pointerClickHandler);
            }
        }
        else if (pointerData.dragging)
        {
            //print ("dragggg");
            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;
    }
Пример #4
0
    protected 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.
        Debug.Log("***About to execute pointerUpHandler on object: " + go + "***");
        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;
    }
Пример #5
0
 public void OnGazeTriggerEnd(Camera camera)
 {
     GazePointer.OnGazeTriggerEnd(camera);
 }