public void Pickup(GenericPickup pickup) { Rigidbody r = pickup.GetComponent<Rigidbody>(); Collider c = pickup.GetComponent<Collider>(); //check if the thing you bumped into is a pickupable if (pickup.tag == pickupTag && r != null) { //drop any items you've got DropItem(); pickup.transform.parent = transform; pickup.transform.position = pickupNode.position; r.velocity = Vector3.zero; r.useGravity = false; r.isKinematic = false; c.enabled = false; myPickup = pickup; } }
public void DropItem() { //check if you're already holding an object and drop it if you are if (myPickup != null) { Rigidbody r0 = myPickup.GetComponent<Rigidbody>(); Collider c0 = myPickup.GetComponent<Collider>(); r0.useGravity = true; r0.isKinematic = false; r0.AddForce(dropForce); myPickup.DelayedColliderEnable(dropColliderDelay); myPickup.transform.parent = null; myPickup = null; AutokillTimer a = myPickup.GetComponent<AutokillTimer>(); if(a != null) a.timer = 30; } }