private void OnTriggerStay(Collider other) { if (Controller.triggerPressed && other.GetComponent <PickedUpItem>() && PickUpItem == null) { PickedUpItem PickObj = other.GetComponent <PickedUpItem>(); if (!PickObj.Picking) { if (PickObj.Waiting) { PickObj.Waiting = false; SpawnBall(); } PickObj.Picking = true; PickObj.OnPick.Invoke(); origin_parent = PickObj.transform.parent; PickObj.transform.SetParent(transform); PickObj.transform.localPosition = Vector3.zero; PickObj.GetComponent <Rigidbody>().useGravity = false; PickObj.GetComponent <Rigidbody>().isKinematic = true; PickObj.GetComponent <Rigidbody>().velocity = Vector3.zero; PickObj.holding = true; PickUpItem = PickObj; inBusy = true; OnCatch.Invoke(); } } }
void ReleaseItem() { PickUpItem.transform.SetParent(origin_parent); PickUpItem.GetComponent <Rigidbody>().useGravity = true; PickUpItem.GetComponent <Rigidbody>().isKinematic = false; SwipeValue(PickUpItem.GetComponent <Rigidbody>()); PickUpItem.Picking = false; PickUpItem.holding = false; PickUpItem = null; inBusy = false; }