public HeroPreHealEvent OnHeroPreHeal(Hero hero, int healAmount) { HeroPreHealEvent heroPreHealEvent = new HeroPreHealEvent() { Hero = hero, HealAmount = healAmount }; HeroPreHealHandler.OnNext(heroPreHealEvent); foreach (Minion battlefieldMinion in GameManager.Instance.GetAllMinions()) { battlefieldMinion.Buffs.OnHeroPreHeal.OnNext(heroPreHealEvent); } return(heroPreHealEvent); }
public override void Heal(int healAmount) { // Firing OnHeroPreHeal events HeroPreHealEvent heroPreHealEvent = EventManager.Instance.OnHeroPreHeal(this, healAmount); // TODO : Check if heal is transformed to damage and if so, call Damage instead Debugger.LogHero(this, "healing for " + heroPreHealEvent.HealAmount); // Updating the current health (clamped to MaxHealth) CurrentHealth = Mathf.Min(CurrentHealth + heroPreHealEvent.HealAmount, MaxHealth); // Firing OnHeroHealed events EventManager.Instance.OnHeroHealed(this, heroPreHealEvent.HealAmount); // TODO : Heal animation + sound // TODO : Show heal sprite + healed amount on hero portrait Player.HeroController.UpdateNumbers(); }