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(); } }
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(); } }
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; }