private ShipIcon findShipIcon(INavigableVessel vessel) { String id = vessel.getUuid(); for (Node node : shipCanvas.getChildrenUnmodifiable()) { if (node instanceof ShipIcon && id.equals(node.getId())) { return (ShipIcon) node; } } logger.trace("The vessel "+vessel.getUuid()+": "+vessel.getName()+" of "+vessel.getOwner().getClass().getSimpleName()+" "+vessel.getOwner().getName()+" "+vessel.getOwner().getLastName()+" is not visible on the map"); return null; }
private MarriageBrokerAnnouncementState createMarriageBrokerAnnouncementState(ShipEntersPortEvent event, INavigableVessel ship) { return MarriageBrokerAnnouncementState.builder() .date(date.getCurrentDate()) .location(event.getCity().getName()) .fromFirstName(maleFirstNameLoader.getRandomName()) .fromLastName(lastNameLoader.getRandomName()) .toLastName(ship.getOwner().getLastName()) .genderMale(((IPlayer) ship.getOwner()).getPersonalData().isMale()) .build(); }
public ShipEntersPortEvent(INavigableVessel ship, ICity city) { this.ship = ship; this.city = city; Preconditions.checkArgument(ship.getLocation().equals(city.getCoordinates()), "The ship "+ship.getName()+" of "+ship.getOwner().getName() +" "+ship.getOwner().getLastName()+" is not in city "+city.getName()); } }
/** * Calculate a new path for the <code>vessel</code> and draw it on the map. * @param vessel that travels along the path * @param path series of points defining the path. */ private void drawPath(INavigableVessel vessel, List<Point2D> path) { if (path != null) { clearLines(); Optional<Path> p = pathConverter.createPath(vessel, path, scale.doubleValue()); if (p.isPresent()) { drawPathOnMap(vessel, path, p.get()); } else { logger.warn("Path not available for {} of {} {}", vessel.getName(), vessel.getOwner().getName(), vessel.getOwner().getLastName()); } } }
if (sunkenAttackingShips.size() == 1 && capturedAttackingShips.size() == 0) { messageKey = "ch.sahits.game.openpatrician.engine.sea.SeaFightService.unsuccessful.sunkOneShip"; args = new Object[]{sunkenAttackingShips.get(0).getName(), defender.getName()+" "+defender.getLastName()}; } else if (sunkenAttackingShips.size() == 0 && capturedAttackingShips.size() == 1) { messageKey = "ch.sahits.game.openpatrician.engine.sea.SeaFightService.unsuccessful.capturedOneShip"; args = new Object[]{capturedAttackingShips.get(0).getName(), defender.getName()+" "+defender.getLastName()}; } else if (sunkenAttackingShips.size() == 1 && capturedAttackingShips.size() == 1) { messageKey = "ch.sahits.game.openpatrician.engine.sea.SeaFightService.unsuccessful.sunkAndCapturedOneShip"; args = new Object[]{sunkenAttackingShips.get(0).getName(), capturedAttackingShips.get(0).getName(), defender.getName()+" "+defender.getLastName()}; } else if (sunkenAttackingShips.size() == 1 && capturedAttackingShips.size() > 1) { messageKey = "ch.sahits.game.openpatrician.engine.sea.SeaFightService.unsuccessful.sunkOneAndCapturedMultipleShip"; StringBuffer capturedShips = getShipNameListWithoutTheLastShip(capturedAttackingShips); String lastShip = capturedAttackingShips.get(capturedAttackingShips.size()-1).getName(); args = new Object[]{sunkenAttackingShips.get(0).getName(), capturedShips.toString(), lastShip, defender.getName()+" "+defender.getLastName()}; } else if (sunkenAttackingShips.size() == 0 && capturedAttackingShips.size() > 1) { messageKey = "ch.sahits.game.openpatrician.engine.sea.SeaFightService.unsuccessful.capturedMultipleShip"; StringBuffer capturedShips = getShipNameListWithoutTheLastShip(capturedAttackingShips); String lastShip = capturedAttackingShips.get(capturedAttackingShips.size()-1).getName(); args = new Object[]{capturedShips.toString(), lastShip, defender.getName()+" "+defender.getLastName()}; } else if (sunkenAttackingShips.size() > 1 && capturedAttackingShips.size() == 0) { messageKey = "ch.sahits.game.openpatrician.engine.sea.SeaFightService.unsuccessful.sunkMultipleShip"; StringBuffer sunkenShips = getShipNameListWithoutTheLastShip(sunkenAttackingShips); String lastShip = sunkenAttackingShips.get(sunkenAttackingShips.size()-1).getName(); args = new Object[]{sunkenShips.toString(), lastShip, defender.getName()+" "+defender.getLastName()}; } else if (sunkenAttackingShips.size() > 1 && capturedAttackingShips.size() == 1) { messageKey = "ch.sahits.game.openpatrician.engine.sea.SeaFightService.unsuccessful.capturedOneAndSunkMultipleShip"; StringBuffer sunkenShips = getShipNameListWithoutTheLastShip(sunkenAttackingShips); String lastShip = sunkenAttackingShips.get(sunkenAttackingShips.size()-1).getName(); args = new Object[]{capturedAttackingShips.get(0).getName(), sunkenShips.toString(), lastShip, defender.getName()+" "+defender.getLastName()};
@Subscribe public void handleShipPositionUpdate(ShipPositionUpdateEvent event) { INavigableVessel vessel = event.getShip(); TravellingVessel ship = vessels.getTravellingVessel(vessel); if (vessel.getOwner().equals(viewState.getPlayer())) { Preconditions.checkNotNull(ship, "The travelling vessel instance for " + vessel.getName() + " of " + vessel.getOwner().getName() + " " + vessel.getOwner().getLastName() + " could not be found"); } if (ship != null) { threadExecution.execute(() -> { if (ship != null) { // The ship is traveling ShipIcon view = findShipIcon(vessel); if (view != null) { // The ship is visible view.updatePosition(); } else { logger.trace("Failed to find vessel with uuid {}", vessel.getUuid()); } } handleVisibilityShips(vessel); }); } else { logger.debug("Ship ship update for {} as ship is not a traveling vessel", vessel.getName()); } }
.append(ship.getName()) .append(" owned by ") .append(ship.getOwner().getName()) .append(" ") .append(ship.getOwner().getLastName()) .append(", "); Optional<ICaptain> optCaptain = ship.getCaptian();
private void addAuctionDescription(VBox box, IAuction nextAuction) { if (nextAuction instanceof IBuildingAuction) { IBuilding building = ((IBuildingAuction) nextAuction).getAuctionedBuilding(); IPlayer owner = nextAuction.getOwner().get(); String name = owner.getName()+" "+owner.getLastName(); String template = messageSource.getMessage("ch.sahits.game.openpatrician.display.dialog.guild.AuctionGuildDialog.buildingAuction", new Object[]{modelTranslations.getLocalDisplayName(building), name}, locale.getCurrentLocal()); DecoratedText dt = textFactory.createDecoratedText(template, new HashMap<>()); dt.setId("buildingAuction"); box.getChildren().add(dt); } else { IShip ship = ((IShipAuction)nextAuction).getAuctionedShip(); String name = ship.getOwner().getName()+" "+ship.getOwner().getLastName(); String template = messageSource.getMessage("ch.sahits.game.openpatrician.display.dialog.guild.AuctionGuildDialog.shipAuction", new Object[]{ship.getName(), name}, locale.getCurrentLocal()); DecoratedText dt = textFactory.createDecoratedText(template, new HashMap<>()); dt.setId("shipAuction"); box.getChildren().add(dt); } box.getChildren().add(dialogHelper.createVerticalSpacer(20)); }
@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)); } }
logger.warn("Failed to execute path finding in separate thread from "+ source+" to "+destination+" of "+vessel.getName()+" by "+vessel.getOwner().getName()+" "+vessel.getOwner().getLastName()+".", e); e.printStackTrace(); return aStar.findPath(source, destination);
logger.trace("Add travelling vessel {} of {} {}", vessel.getName(), vessel.getOwner().getName(), vessel.getOwner().getLastName()); Optional<Path> optPath = Optional.ofNullable(path); vessels.addVessel(vessel, optPath, reducedList);