private void DropItem()
    {
        Debug.Log("Drop mehhhhh");

        if (playerState.playerState == PlayerStates.PlayerState.pHoldingOn)
        {
            HunkerDown other = this.GetComponentInParent <HunkerDown>();

            if (other != null)
            {
                other.ReleaseMast(this.gameObject);
            }
        }

        if (currentObject != null)
        {
            currentObject.DropItem();
        }
    }
    private void Update()
    {
        if (playerInput.ButtonIsDown(PlayerInput.Button.B))
        {
            DropItem();
        }

        if (Input.GetKey(KeyCode.I) || playerInput.ButtonIsDown(PlayerInput.Button.A))
        {
            if (touchedInteractable != null)
            {
                touchedInteractable.Pickup(gameObject, this, this.playerState);
                return;
            }

            if (playerState.playerState == PlayerStates.PlayerState.pBucket && touchedGameObject.CompareTag("Edge"))
            {
                if (bucketStates.currentState == BucketStates.BucketState.Held)
                {
                    bucketStates.currentState = BucketStates.BucketState.Bailing;
                }
            }

            if (currentObject && touchedGameObject)
            {
                currentObject.Activate(touchedGameObject);
            }

            if (touchedGameObject)
            {
                HunkerDown hunkerDown = touchedGameObject.gameObject.GetComponent <HunkerDown>();

                if (hunkerDown != null)
                {
                    Debug.Log("Holding");
                    hunkerDown.Pickup(this.gameObject);
                }
            }
        }
    }