Пример #1
0
    /// <summary>
    /// When TriggerPressed, two options for behaviour. If user is currently pointing at object, notify object on event. Otherwise, show tooltip.
    /// <returns></returns>
    ///
    private void Controller_TriggerPressed(object sender, ControllerInteractionEventArgs e)
    {
        //If still on an object
        triggerPressed = true;

        TubeRenderer closestTube = pickingTube(this.transform.position, this.transform.position + this.transform.forward * sizeRay);

        if (closestTube != null)
        {
            //closestTube.GetComponent<Renderer>().material.color = lineRenderer.material.color;
            var p1 = closestTube.p1;
            var p2 = closestTube.p2;

            m1 = p1.draw_map(pointer.transform.parent.transform);
            m2 = p2.draw_map(pointer.transform.parent.transform);

            //m1.transform.position = p1.transform            //m1.transform.position = p1.transform


            m1.link_two_maps(m2);

            cp1 = m1.transform.parent;
            cp2 = m2.transform.parent;

            m1.transform.parent = pointer.transform;
            m2.transform.parent = pointer.transform;

            reset_parents = true;
        }


        else if (currentObject != null)
        {
            //Do something on click
            GameObject go = currentObject.OnTriggerPressed(pointer.transform.parent.transform);
            if (go != null)
            {
                GetComponent <VRTK_InteractGrab>().AttemptGrabObject(go);
            }
        }
        else
        {
            helpTooltipState = !helpTooltipState;
            helpTooltip.ToggleTips(helpTooltipState);
        }
    }