private void OnTriggerStay2D(Collider2D collision) { if (Input.GetKeyDown(KeyCode.E) && !holdingObject) { IInteractable interactable = collision.gameObject.GetComponent <IInteractable>(); if (interactable != null) { interactable.Interaction(); } } else if (Input.GetKeyDown(KeyCode.E) && holdingObject) { IPlaceable placeable = collision.GetComponent <IPlaceable>(); if (placeable != null) { DropEvents.current.DropObject(objectInHand, placeable.ReturnObjectType()); } } }