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;

        }
    }