/** * Convert a vessel into a list of ships. * @param vessel input vessel of type IConvoy, IShipGroup or simple IShip * @return List of type IShip */ public List<IShip> explodeShipList(INavigableVessel vessel) { if (vessel instanceof IConvoy) { return explodeShipList((IConvoy) vessel); } else if (vessel instanceof IShipGroup) { return explodeShipList((IShipGroup)vessel); } else { return explodeShipList((IShip) vessel); } }
List<IShip> attackingShips = explodeShipList(attackingVessel); List<IShip> defendingShips = explodeShipList(defendingVessel); List<GenericPair<List<IShip>, List<IShip>>> pairings = calculatePairing(attackingShips, defendingShips); List<IShip> sunkenDefendingShips = new ArrayList<>();