public override void InitiatePickup() { pickedUp = true; PlayerHealthManager pHM = player.GetComponent <PlayerHealthManager>(); if (pHM) { pHM.Heal(healAmount); } }
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 } }
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); } } }