public CombatResult( double attackerMilitaryDamage, double attackerCollateralDamage, double defenderMilitaryDamage, double defenderCollateralDamage, TerritoryGain territoryGain) { AttackerDamage = new Damage(attackerMilitaryDamage, attackerCollateralDamage); DefenderDamage = new Damage(defenderMilitaryDamage, defenderCollateralDamage); TerritoryGain = territoryGain; }
private void SetupSystemTransferTest(TerritoryGain territoryGain) { _militaryCalculator.Setup(x => x.Combat(It.IsAny <Empire>(), It.IsAny <Empire>())) .Returns(new CombatResult( attackerMilitaryDamage: It.IsAny <double>(), attackerCollateralDamage: It.IsAny <double>(), defenderMilitaryDamage: It.IsAny <double>(), defenderCollateralDamage: It.IsAny <double>(), territoryGain: territoryGain)); _militarySimulator.Run(It.IsAny <DeltaMetadata>(), ObjectId.GenerateNewId()); }
private void TryEndWar(DeltaMetadata deltaMetadata, ObjectId warId, TerritoryGain territoryGain, ObjectId attackerId, ObjectId defenderId) { if (territoryGain == TerritoryGain.Attacker && AllSystemsLost(defenderId)) { _warRepository.EndWarsWithParticipant(deltaMetadata, defenderId); _empireRepository.EmpireDefeated(deltaMetadata, defenderId); } else if (territoryGain == TerritoryGain.Defender && AllSystemsLost(attackerId)) { _warRepository.EndWarsWithParticipant(deltaMetadata, attackerId); _empireRepository.EmpireDefeated(deltaMetadata, attackerId); } }
private void SystemTransfer(DeltaMetadata deltaMetadata, TerritoryGain territory, EmpireBorderView empireBorderView) { if (territory == TerritoryGain.Attacker) { _empireRepository.TransferSystems( deltaMetadata, empireBorderView.BorderingEmpire.Id, empireBorderView.Empire.Id, empireBorderView.BorderingEmpireSystems.Select(x => x.Id)); } else if (territory == TerritoryGain.Defender) { _empireRepository.TransferSystems( deltaMetadata, empireBorderView.Empire.Id, empireBorderView.BorderingEmpire.Id, empireBorderView.EmpireSystems.Select(x => x.Id)); } }