public void MakeBattleCommand(SpaceBattle battle) { if (this.Lasers != null && this.Lasers.Length > 0) { int requiredEnergy = 0; foreach (var l in this.Lasers) { requiredEnergy += l.Energy; } if (requiredEnergy < this.Energy) { battle.DoBattleCommand(this, "F"); return; } } if (this.MissileLaunchers != null && this.MissileLaunchers.Length > 0) { int requiredEnergy = 0; foreach (var m in this.MissileLaunchers) { requiredEnergy += m.Energy; } if (requiredEnergy < this.Energy) { battle.DoBattleCommand(this, "M"); return; } } battle.DoBattleCommand(this, "E"); }
protected virtual void OnBattleEnded(SpaceBattle battle, SpaceShip enemy) { if (BattleEnded != null) { BattleEnded(this, battle, enemy); } }
void SpaceShip_BattleStarted(object sender, SpaceBattle battle, SpaceShip enemy) { this.SpaceShip.EngageShip(enemy); }
public void ReportBattleEnded(SpaceBattle battle, SpaceShip enemy) { OnBattleEnded(battle, enemy); }
void SpaceShip_BattleEnded(object sender, SpaceBattle battle, SpaceShip enemy) { this.State = "SEARCH"; }