// TODO : Gotta make the BuffManager methods to be able to modify the damage amounts public override void Damage(Character attacker, int damageAmount) { // Creating the MinionPreDamageEvent MinionPreDamageEvent minionPreDamageEvent = new MinionPreDamageEvent() { Attacker = attacker, Minion = this, DamageAmount = damageAmount }; // Firing the subscribed handlers to OnPreDamage Buffs.OnPreDamage.OnNext(minionPreDamageEvent); EventManager.Instance.OnMinionPreDamage(minionPreDamageEvent); Debugger.LogMinion(this, "receiving " + minionPreDamageEvent.DamageAmount + " damage by " + attacker.GetName()); // Substracting the damage to the current health of the Minion CurrentHealth -= minionPreDamageEvent.DamageAmount; // TODO : Show health loss sprite + amount on token // Creating the MinionDamagedEvent MinionDamagedEvent minionDamagedEvent = new MinionDamagedEvent() { Attacker = attacker, Minion = this, DamageAmount = minionPreDamageEvent.DamageAmount }; // Firing the subscribed handlers to OnDamage Buffs.OnDamaged.OnNext(minionDamagedEvent); EventManager.Instance.OnMinionDamaged(minionDamagedEvent); Controller.UpdateNumbers(); }
public void OnMinionDamaged(MinionDamagedEvent minionDamagedEvent) { MinionDamagedHandler.OnNext(minionDamagedEvent); foreach (Minion battlefieldMinion in GameManager.Instance.GetAllMinions()) { battlefieldMinion.Buffs.OnMinionDamaged.OnNext(minionDamagedEvent); } }