Esempio n. 1
0
    public override void Use()
    {
        GameObject        player = PlayerController2D.Instance.gameObject;
        PlayerManaManager pMm    = player.GetComponent <PlayerManaManager>();

        if (pMm.playerCurrentMana != pMm.playerMaxMana)
        {
            pMm.HealMana(heal);
            Inventory.instance.Remove(this);
            SFXManager.Instance.PlaySound(SFXManager.Instance.manaPotion);
        }
    }
    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);
            }
        }
    }