public virtual void Attack(IBattlefieldEntity enemy) { if (enemy == null) throw new ArgumentNullException("enemy"); if (enemy.IsAlive && this.weapon != null) { enemy.Health -= this.weapon.CalculateDamage(); enemy.WasAttacked = true; } }
private void StubCombatantAttacksOpponent(IBattlefieldEntity enemy) { enemy.Health--; }
public virtual void Attack(IBattlefieldEntity enemy) { this.HasAttacked = true; enemy.Health--; }
public void Attack(IBattlefieldEntity enemy) { if (enemy == null) throw new ArgumentNullException("enemy"); if (this.combatantFactory == null) throw new InvalidOperationException("No combatant factory to create combatants."); // Select a random combatant. ICombatant randomCombatant = this.combatantFactory.CreateRandomCombatant("My Random Combatant"); randomCombatant.Attack(enemy); }