namespace VRTK.Examples.Archery { using UnityEngine; public class ArrowNotch : MonoBehaviour { private GameObject arrow; private VRTK_InteractableObject obj; private void Start() { arrow = transform.Find("Arrow").gameObject; obj = GetComponent(); } private void OnTriggerEnter(Collider collider) { var handle = collider.GetComponentInParent(); if (handle != null && obj != null && handle.aim.IsHeld() && obj.IsGrabbed()) { handle.nockSide = collider.transform; arrow.transform.SetParent(handle.arrowNockingPoint); CopyNotchToArrow(); collider.GetComponentInParent().SetArrow(arrow); Destroy(gameObject); } } private void CopyNotchToArrow() { GameObject notchCopy = Instantiate(gameObject, transform.position, transform.rotation) as GameObject; notchCopy.name = name; arrow.GetComponent().SetArrowHolder(notchCopy); arrow.GetComponent().OnNock(); } } }