Ejemplo n.º 1
0
    public override void InitiatePickup()
    {
        pickedUp = true;
        PlayerHealthManager pHM = player.GetComponent <PlayerHealthManager>();

        if (pHM)
        {
            pHM.Heal(healAmount);
        }
    }
Ejemplo n.º 2
0
    public override void Use()
    {
        GameObject          player = PlayerController2D.Instance.gameObject;
        PlayerHealthManager phm    = player.GetComponent <PlayerHealthManager>();

        if (phm.playerCurrentHealth != phm.playerMaxHealth)
        {
            phm.Heal(heal);
            Inventory.instance.Remove(this);
        }
        else
        {
            //Show health is full text - use FloatingText
            //Add sound effect
        }
    }
Ejemplo n.º 3
0
    private void Update()
    {
        if (pickedUp && !healed)
        {
            toPlayerVec = PlayerVariables.playerPos - transform.position;
            if (toPlayerVec.magnitude < activationDist)
            {
                playerHM.Heal(healAmount);
                pickupMesh.SetActive(false);
                healed = true;
                Destroy(gameObject, pickupSound.length);
            }

            toPlayerVec.Normalize();
            rb.AddForce(toPlayerVec * approachForce * Time.deltaTime);
        }
    }
    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);
            }
        }
    }