public override void GiveEffect(UnitBase character) { if (baseForRecoveryAmount == RecoveryAmountBase.DamageDealt && Math.Abs(numberToHealFrom - (-1)) < 0.001f) { return; } switch (target) { case HealingTarget.Self: character.Heal(GetFinalHealAmount(character)); return; case HealingTarget.Party: PartyManager.Members.ForEach(m => m.Heal(GetFinalHealAmount(character))); return; case HealingTarget.OtherMember: HealOtherMember(character); return; } }
private void OnTriggerEnter(Collider collider) { if (collider.gameObject.tag == "Player") { UnitBase targetUnit = collider.GetComponent <UnitBase>(); if (targetUnit == null) { return; } if (!targetUnit.IsMaxHealth) { if (UnitBase.IsRunOnServer) { targetUnit.Heal(healthAmount); } StartCoroutine(RespawnTimer()); } } }