@Override protected EventHandler<MouseEvent> createAcceptHandler() { return mouseEvent -> { try { removeDecoratedContent(); removeAcceptButton(); MapSegmentedImage imageMap = segmentFactory.getRandomPirateNest(); String loadedText = messageSource.getMessage("ch.sahits.game.openpatrician.display.dialog.TavernPirateHunterDialog.acceptMessage", new Object[]{imageMap.getImageName()}, locale.getCurrentLocal()); HashMap<String, Object> parameters = new HashMap<>(); List<Integer> visibleSegs = new ArrayList<>(imageMap.getSegmentIndices()); parameters.put("visibleSegments", visibleSegs); final DecoratedText dt = decoratedTextFactory.createDecoratedText(loadedText, parameters); Platform.runLater(() -> getContent().add(dt)); IPirateHunter pirateHunter = (IPirateHunter) currentPerson.get(); final IHumanPlayer player = city.getPlayer(); player.getCompany().updateCash(-pirateHunter.getPremium()); player.setSegmentedMap(imageMap); locationDetector.addSegment(imageMap); city.getPlayer().updateCrimialDrive(-1); pirateHunter.leave(); executeOnCloseButtonClicked(); } catch (RuntimeException e) { logger.error("Failed to accept pirate hunter offer", e); } }; }
@Override protected EventHandler<MouseEvent> createAcceptHandler() { return mouseEvent -> { try { IHumanPlayer player = city.getPlayer(); ThieveState burglar = (ThieveState) currentPerson.get(); player.getCompany().updateCash(-burglar.getPrice()); int probability = rnd.nextInt(3); if (probability < 1) { timedTaskListener.add((TimedTask) taskFactory.getDelayedCaughtAction(player, city.getCity())); } else { timedTaskListener.add((TimedTask) taskFactory.getBreakInAction(selectedOponent.get())); } player.updateCrimialDrive(1); burglar.leave(); executeOnCloseButtonClicked(); } catch (RuntimeException e) { logger.error("Failed to accept burglar offer", e); } }; }
timedTaskListener.add((TimedTask) taskFactory.getDelayedCaughtAction(city.getPlayer(), city.getCity())); city.getPlayer().updateCrimialDrive(1); smuggler.leave(); executeOnCloseButtonClicked();
@Override protected EventHandler<MouseEvent> createAcceptHandler() { return mouseEvent -> { try { IConcurrent concurrent = (IConcurrent) currentPerson.get(); int minutes = rnd.nextInt(600); LocalDateTime postMessage = date.getCurrentDate().plusMinutes(minutes); taskFactory.getPostponedDisplayMessage(postMessage, "ch.sahits.game.openpatrician.display.dialog.TavernConcurrentDialog.acceptMessage", concurrent.getConcurrentName()); TimedTask reconsialistation = taskFactory.getConcurrentReconciliation(); // Order of the client to sink the opponents ship eventHandlerFactory.getSinkConcurrentsShipOrder(concurrent.getConcurrentPlayer(), city.getPlayer(), 20, concurrent.getPremium(), reconsialistation); // Postponed order of the opponent to sink the clients ship taskFactory.getOpponentsOrder(concurrent.getConcurrentPlayer(), concurrent.getClientPlayer(), city.getPlayer(), concurrent.getPremium() * 2); concurrent.leave(); city.getPlayer().updateCrimialDrive(1); executeOnCloseButtonClicked(); } catch (RuntimeException e) { logger.error("Failed to accept concurrent attack offer", e); } }; }
timedTaskListener.add(task); city.getPlayer().updateCrimialDrive(1);
@Override protected EventHandler<MouseEvent> createAcceptHandler() { return mouseEvent -> { try { if (city.getActiveShip() != null) { IEscorte escort = (IEscorte) currentPerson.get(); IShip ship = (IShip) city.getActiveShip(); ship.addPassenger(escort); final LocalDateTime now = date.getCurrentDate(); final LocalDateTime deadline = now.plusWeeks(3); LinearDeadlinePremiumCalculator premiumCalculator = clientServerFactory.premiumCalculator(now, deadline, escort.getPremium()); DialogTemplateParameterSupplier parameterSupplier = new DialogTemplateParameterSupplier(new Object[]{escort.getDestination().getName(), ship.getName(), clientServerFactory.dateSupplier(), premiumCalculator}); eventHandlerFactory.getPassengerLeavingOnShipArrivalHandler(ship, escort.getDestination(), city.getPlayer(), deadline, EDialogTemplateType.ESCORT_LEAVES_SHIP, parameterSupplier, premiumCalculator); clientEventBus.post(new DisplayMessage("ch.sahits.game.openpatrician.display.dialog.TavernEscortDialog.acceptMessage", ship.getName())); escort.leave(); city.getPlayer().updateCrimialDrive(-1); executeOnCloseButtonClicked(); } } catch (RuntimeException e) { logger.error("Failed to accept escorts offer", e); } }; }
@Override protected EventHandler<MouseEvent> createAcceptHandler() { return mouseEvent -> { try { IShip ship = null; if (city.getActiveShip() instanceof IShip) { ship = (IShip) city.getActiveShip(); } if (ship != null) { IFugitive fugitive = (IFugitive) currentPerson.get(); ship.addPassenger(fugitive); final LocalDateTime now = date.getCurrentDate(); final LocalDateTime deadline = now.plusWeeks(2); LinearDeadlinePremiumCalculator premiumCalculator = clientServerFactory.premiumCalculator(now, deadline, fugitive.getPremium()); DialogTemplateParameterSupplier parameterSupplier = new DialogTemplateParameterSupplier(new Object[]{fugitive.getDestination().getName(), ship.getName(), clientServerFactory.dateSupplier(), premiumCalculator}); eventHandlerFactory.getPassengerLeavingOnShipArrivalHandler(ship, fugitive.getDestination(), city.getPlayer(), deadline, EDialogTemplateType.FUGITIVE_LEAVES_SHIP, parameterSupplier, premiumCalculator); clientEventBus.post(new DisplayMessage("ch.sahits.game.openpatrician.display.dialog.TavernFugitiveDialog.acceptMessage", ship.getName())); fugitive.leave(); city.getPlayer().updateCrimialDrive(-1); executeOnCloseButtonClicked(); } } catch (RuntimeException e) { logger.error("Failed to accept fugitive offer", e); } }; } }