Ejemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        device = SteamVR_Controller.Input((int)trackedObj.index);

        if (objectMenuManager == null)
        {
            return;
        }

        if (device.GetTouchDown(SteamVR_Controller.ButtonMask.Touchpad))
        {
            objectMenuManager.ShowMenu();
            //touchLast = device.GetAxis(Valve.VR.EVRButtonId.k_EButton_SteamVR_Touchpad).x;
        }
        if (device.GetPressDown(SteamVR_Controller.ButtonMask.Touchpad))
        {
            // if the user presses the left half of the touchpad
            if (device.GetAxis(Valve.VR.EVRButtonId.k_EButton_SteamVR_Touchpad).x < 0)
            {
                //Debug.Log("pressing on" + device.GetAxis(Valve.VR.EVRButtonId.k_EButton_SteamVR_Touchpad).x);
                SwipeLeft();
                hasPressedLeft  = true;
                hasPressedRight = false;
            }

            // if the user presses the right half of the touchpad
            if (device.GetAxis(Valve.VR.EVRButtonId.k_EButton_SteamVR_Touchpad).x > 0)
            {
                //Debug.Log("pressing on" + device.GetAxis(Valve.VR.EVRButtonId.k_EButton_SteamVR_Touchpad).x);
                SwipeRight();
                hasPressedLeft  = false;
                hasPressedRight = true;
            }


            //only accessing x horizontal value of touchpad

            /*
             * touchCurrent = device.GetAxis(Valve.VR.EVRButtonId.k_EButton_SteamVR_Touchpad).x;
             * distance = touchCurrent - touchLast;
             * touchLast = touchCurrent;
             * swipeSum += distance;
             */


/*
 *          if (!hasSwipedRight)
 *          {
 *              if (swipeSum > 0.5f)
 *              {
 *                  swipeSum = 0;
 *                  SwipeRight();
 *                  hasSwipedRight = true;
 *                  hasSwipedLeft = false;
 *              }
 *          }
 *          if(!hasSwipedLeft)
 *          {
 *              if (swipeSum < -0.5f)
 *              {
 *                  swipeSum = 0;
 *                  SwipeLeft();
 *                  hasSwipedRight = false;
 *                  hasSwipedLeft = true;
 *
 *              }
 *          }
 */
        }
        if (device.GetTouchUp(SteamVR_Controller.ButtonMask.Touchpad))
        {
            swipeSum        = 0;
            touchCurrent    = 0;
            touchLast       = 0;
            hasPressedLeft  = false;
            hasPressedRight = false;
            objectMenuManager.HideMenu();
        }

        if (device.GetPressDown(SteamVR_Controller.ButtonMask.Trigger) && objectMenuManager.GetMenuActiveState() == true)
        {
            // spawn object selected by menu
            SpawnObject();
        }
    }