public override void Interact(PlayerStateController player) { if (!carried) { // Carry the loot! carried = true; // Reset rigidbody rigidbody.isKinematic = true; rigidbody.velocity = Vector3.zero; rigidbody.angularVelocity = Vector3.zero; // Disable collider meshCollider.enabled = false; player.Lift(gameObject); } else { // Drop the loot! carried = false; rigidbody.isKinematic = false; meshCollider.enabled = true; // If i'm to be destroyed, prevent me from being interacted with if (destroy) { canInteract = false; rigidbody.isKinematic = true; } player.Drop(gameObject); absorbTarget = transform.position + new Vector3(0, 3, 0); } }