示例#1
0
    protected override void OnActionDown()
    {
        if (!picked)
        {
            VivePickable itemToGrip = this;

            if (!m_released && transform.parent && transform.parent.parent)
            {
                VivePickable corkParent = transform.parent.parent.GetComponent <VivePickable>();
                if (corkParent && !corkParent.picked)
                {
                    itemToGrip = corkParent;
                }
            }

            itemToGrip.Grip(m_interactionWand);
            ReportInteraction();
        }
    }
示例#2
0
    protected override void OnActionDown()
    {
        if (!picked)
        {
            VivePickable itemToGrip = this;

            if (m_itemType == XperItem.Erlenmeyer)
            {
                SmartFluwid          smartFluwid          = GetComponentInChildren <SmartFluwid>();
                FluwidContainerEntry fluwidContainerEntry = smartFluwid.GetComponentInChildren <FluwidContainerEntry>();

                if (fluwidContainerEntry.hasCork && fluwidContainerEntry.viveCork.picked)
                {
                    itemToGrip = fluwidContainerEntry.viveCork;
                }
            }

            itemToGrip.Grip(m_interactionWand);
            ReportInteraction();
        }
    }
示例#3
0
    public void SelectItem(Transform item)
    {
        if (m_outlinedItem)
        {
            return;
        }

        MeshFilter meshFilter = item.gameObject.GetComponent <MeshFilter>();

        m_outlinedItem      = Instantiate <MeshFilter>(m_outlinedPrefab);
        m_outlinedItem.mesh = meshFilter.mesh;
        m_outlinedItem.transform.SetParent(item, false);

        m_targetVivePickable = item.gameObject.GetComponent <VivePickable>();
        if (m_targetVivePickable)
        {
            m_targetVivePickable.Grip(m_viveWand);
        }

        m_timeSinceSelection = 0;
    }