private void Update() { if (bowStringGrabbable.isActiveAndEnabled) { if (bowStringGrabbable.isGrabbed) { reset = false; } else { reset = true; } } else { reset = true; } if (reset) { if (isCreated) { arrowController.Attack(); isCreated = false; } transform.localPosition = localPosition; transform.localRotation = localRotation; } else { if (!isCreated) { currentArrow = pooling.Spawn(GamePlayManager.Instance.GetArrow(), transform.position, transform.rotation); currentArrow.transform.parent = transform; currentArrow.transform.localRotation = Quaternion.Euler(arrowLocalRotationAngle); isCreated = true; arrowController = currentArrow.GetComponent <ArrowController>(); arrowController.SetData(fulcrum); } } }