Esempio n. 1
0
    // Update is called once per frame
    void Update()
    {
        if (controller == null)
        {
            Debug.Log("Controller not initialized");
            return;
        }

        var device = SteamVR_Controller.Input((int)trackedObj.index);

        //triggers
        if (controller.GetPressDown(triggerButton))
        {
            if (inSpawner)
            {
                VRInteractables.Add((spawner.Spawn(transform.position)).gameObject.GetComponent <VRInteractable>());
            }

            VRInteractable closestObj = FindClosestObject();

            if (closestObj != null)
            {
                pickedUpObject = closestObj;
                pickedUpObject.PickUp(transform);
                EventManager.PlayerPickUpBurger(this.gameObject, new PlayerTutorialArgs());
            }
        }

        if (controller.GetPressUp(triggerButton))
        {
            //DropObj();
            if (pickedUpObject != null)
            {
                VRInteractables.Remove(pickedUpObject);
                pickedUpObject.Drop(controller.velocity, controller.angularVelocity);
                pickedUpObject = null;
            }
        }

        //touchpad
        if (controller.GetPressDown(EVRButtonId.k_EButton_SteamVR_Touchpad))
        {
            Debug.Log("Touch down");
        }

        if (controller.GetPressUp(EVRButtonId.k_EButton_SteamVR_Touchpad))
        {
            Debug.Log("Touch up");
        }

        Vector2 touchPad = controller.GetAxis(EVRButtonId.k_EButton_SteamVR_Touchpad);

        if (touchPad != Vector2.zero)
        {
            //Debug.Log(touchPad);

            if (pickedUpObject != null)
            {
                pickedUpObject.Interact(touchPad);
            }
            else
            {
                Teleport();
            }
        }
        else
        {
            if (teleportMarker.activeSelf)
            {
                teleportMarker.SetActive(false);
            }

            if (line.enabled == true)
            {
                line.enabled = false;
            }
        }

        //grip
        if (controller.GetPressDown(EVRButtonId.k_EButton_Grip))
        {
            Debug.Log("Grip down");
            if (!UIOpen)
            {
                OpenUI();
                UIManager.display.UpdateText();
                EventManager.PlayerOpenUI(this.gameObject, new PlayerTutorialArgs());
            }
            else
            {
                CloseUI();
            }
        }

        if (controller.GetPressUp(EVRButtonId.k_EButton_Grip))
        {
            Debug.Log("Grip up");
        }

        //menu
        if (controller.GetPressDown(EVRButtonId.k_EButton_ApplicationMenu))
        {
            Debug.Log("Menu down");
        }

        if (controller.GetPressUp(EVRButtonId.k_EButton_ApplicationMenu))
        {
            Debug.Log("Menu up");
        }
    }