public override void Use()
    {
        GameObject         player = PlayerController2D.Instance.gameObject;
        PlayerController2D pc     = PlayerController2D.Instance;

        //player.GetComponent<PlayerController>();

        if (pc.SpeedNotOnCooldown())
        {
            pc.SetMoveSpeedBonuses(speedBonusModifier, duration, cooldown);
            Inventory.instance.Remove(this);
        }
        else
        {
            Inventory.instance.GetComponent <ShowCooldown>()
            .ShowFloatingText(this.itemName, Color.yellow);
        }
    }
    void OnTriggerEnter2D(Collider2D other)
    {
        if (other.CompareTag("Player"))
        {
            GameObject          player = PlayerController2D.Instance.gameObject;
            PlayerHealthManager pHm    = PlayerHealthManager.Instance;
            PlayerController2D  pC     = PlayerController2D.Instance;
            if (manaHeal != 0)
            {
                PlayerManaManager pMm = player.GetComponent <PlayerManaManager>();

                if (pMm.playerCurrentMana != pMm.playerMaxMana)
                {
                    pMm.HealMana(manaHeal);
                    SFXManager.Instance.PlaySound(SFXManager.Instance.manaPotion);
                    gameObject.SetActive(false);
                }
            }
            else if (hpHeal != 0)
            {
                if (pHm.playerCurrentHealth != pHm.playerMaxHealth)
                {
                    pHm.Heal(hpHeal);
                    gameObject.SetActive(false);
                }
            }
            else if (pC.SpeedNotOnCooldown() && speedBuffDuration != 0)
            {
                pC.SetMoveSpeedBonuses(2, speedBuffDuration, 2);
                gameObject.SetActive(false);
            }
            else if (hpDamage != 0)
            {
                pHm.HurtPlayer(hpDamage);
                gameObject.SetActive(false);
            }
        }
    }