|
|
- 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<VRTK_InteractableObject>();
- }
-
- private void OnTriggerEnter(Collider collider)
- {
- var handle = collider.GetComponentInParent<BowHandle>();
-
- if (handle != null && obj != null && handle.aim.IsHeld() && obj.IsGrabbed())
- {
- handle.nockSide = collider.transform;
- arrow.transform.SetParent(handle.arrowNockingPoint);
-
- CopyNotchToArrow();
-
- collider.GetComponentInParent<BowAim>().SetArrow(arrow);
- Destroy(gameObject);
- }
- }
-
- private void CopyNotchToArrow()
- {
- GameObject notchCopy = Instantiate(gameObject, transform.position, transform.rotation) as GameObject;
- notchCopy.name = name;
- arrow.GetComponent<Arrow>().SetArrowHolder(notchCopy);
- arrow.GetComponent<Arrow>().OnNock();
- }
- }
- }
|