Esempio n. 1
0
    void Update()
    {
        if (!laser.enabled)
        {
            return;
        }

        // Set laser tip position from hit.
        if (Physics.Raycast(transform.position, transform.forward, out RaycastHit hit))
        {
            SetLaserTipLocalPosition(transform.InverseTransformPoint(hit.point));
        }
        else
        {
            SetLaserTipLocalPosition(Vector3.forward * 5);
        }

        // Update our current button.
        VRSelectable newButton = hit.collider == null ? null : hit.collider.GetComponent <VRSelectable>();

        if (newButton != currentButton)
        {
            UpdateCurrentButton(newButton);
        }
    }
Esempio n. 2
0
 void UpdateCurrentButton(VRSelectable newButton)
 {
     if (currentButton)
     {
         currentButton.OnHoverEnd();
     }
     currentButton = newButton;
     if (currentButton)
     {
         currentButton.OnHoverStart();
     }
 }