@VisibleForTesting
void postAttackOutcome(List<IShip> attackingShips, List<IShip> defendingShips, List<IShip> defeatedDefendingShips, List<IShip> defeatedAttackingShips, INavigableVessel attackingVessel, INavigableVessel defendingVessel) {
if (defendingShips.size() == defeatedDefendingShips.size()) {
clientServerEventBus.post(new ShipAttackEvent(defendingVessel, attackingVessel));
if (attackingVessel.getPirateFlag()) {
IShipOwner owner = attackingVessel.getOwner();
String name = owner.getName() + " " + owner.getLastName();
String titleKey = "ch.sahits.game.openpatrician.engine.sea.SeaFightService.eventvideo.title";
Object[] titleParams = new Object[]{};
DisplayEventVideo event = DisplayEventVideo.builder()
.mediaType(EEventMediaType.PIRATE_ATTACK)
.durationInSeconds(23)
.titleKey(titleKey)
.titleParams(titleParams)
.descriptionKey("ch.sahits.game.openpatrician.engine.sea.SeaFightService.eventvideo.message")
.descriptionParams(new Object[]{name})
.build();
for (IPlayer player : players ) {
if (player instanceof IHumanPlayer) {
clientServerEventBus.post(new TargetedEvent((IHumanPlayer) player, event));
}
}
}
}
if (attackingShips.size() == defeatedAttackingShips.size()) {
clientServerEventBus.post(new ShipDefenseEvent(defendingVessel, attackingVessel));
}
}