Ejemplo n.º 1
0
    private void UpdateMenu()
    {
        bool click = false;

        //Deal with clicking and hand grabbing
        if (grabAction.GetAxis(SteamVR_Input_Sources.LeftHand) >= 0.1f)
        {
            if (!leftHand.GetGrabbing())
            {
                leftHand.ToggleGrabbing();
                gestureManager.BeginGesture(this, true, false);

                if (leftHandPointing)
                {
                    click = true;
                }
                else
                {
                    leftHandPointing = true;
                }
            }
        }
        else
        {
            if (leftHand.GetGrabbing())
            {
                leftHand.ToggleGrabbing();
                gestureManager.EndCalibratedGesture();
            }
        }

        if (grabAction.GetAxis(SteamVR_Input_Sources.RightHand) >= 0.1f)
        {
            if (!rightHand.GetGrabbing())
            {
                rightHand.ToggleGrabbing();
                gestureManager.BeginGesture(this, false, false);

                if (!leftHandPointing)
                {
                    click = true;
                }
                else
                {
                    leftHandPointing = false;
                }
            }
        }
        else
        {
            if (rightHand.GetGrabbing())
            {
                rightHand.ToggleGrabbing();
                gestureManager.EndCalibratedGesture();
            }
        }

        gestureManager.Update(this, Time.deltaTime, false);

        if (leftHandPointing && pointerEnabled)
        {
            PointAtMenu(leftHand, click);
        }
        else if (pointerEnabled)
        {
            PointAtMenu(rightHand, click);
        }
        else
        {
            menuPointer.enabled = false;
        }
    }