Exemplo n.º 1
0
 public CombatResult(
     double attackerMilitaryDamage,
     double attackerCollateralDamage,
     double defenderMilitaryDamage,
     double defenderCollateralDamage,
     TerritoryGain territoryGain)
 {
     AttackerDamage = new Damage(attackerMilitaryDamage, attackerCollateralDamage);
     DefenderDamage = new Damage(defenderMilitaryDamage, defenderCollateralDamage);
     TerritoryGain  = territoryGain;
 }
Exemplo n.º 2
0
        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());
        }
Exemplo n.º 3
0
 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);
     }
 }
Exemplo n.º 4
0
 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));
     }
 }