ICitizen mayor = null; for (ICitizen citizen : city.getCitizen()) { if (councilmen.size() < nbCouncilmen && citizen.getHometown().equals(city)) { final ESocialRank rank = citizen.getRank(); if ((rank == ESocialRank.COUNCILMAN) || (rank == ESocialRank.PATRICIAN) ||
private DecoratedText getCandidateRow(ICitizen candidate) { Object[] args; String template; DecoratedText text; if (candidate instanceof IPlayer) { IPlayer p = (IPlayer) candidate; args = new Object[]{modelTranslator.getLocalDisplayDistinctArticle(p.getPersonalData().isMale(), true), modelTranslator.getLocalDisplayName(p.getCareerLevel()), modelTranslator.getLocalDisplayName(p.getRank()), p.getName()+" "+p.getLastName()}; } else { args = new Object[]{modelTranslator.getLocalDisplayDistinctArticle(true, true), modelTranslator.getLocalDisplayName(EEconomicCareer.SMART), modelTranslator.getLocalDisplayName(candidate.getRank()), candidate.getName()+" "+candidate.getLastName()}; } template = messageSource.getMessage("ch.sahits.game.openpatrician.display.dialog.cityhall.TownInfoNotice.candidate", args, locale.getCurrentLocal()); text = textFactory.createDecoratedText(template, new HashMap<>()); return text; }
@VisibleForTesting Runnable createPawnRunnable(final IDebt debt, final ICity city) { return () -> { if (debt.getDebitor() instanceof IHumanPlayer) { pawnFromHumanDebitor(debt, city); // Add task for the following day to collect the money } else if (debt.getCreditor() instanceof IHumanPlayer){ int value = rnd.nextInt(debt.getAmount()/2) + debt.getAmount(); value = (int) Math.min(value, debt.getAmount()*debt.getInterest()); ((IPlayer)debt.getCreditor()).getCompany().updateCash(value); ICitizen debitor = debt.getDebitor(); DisplayMessage msg = new DisplayMessage("ch.sahits.game.openpatrician.engine.land.city.LoanerEngine.pawnMsg1", new Object[]{debitor.getName(), debitor.getLastName(), value}); TargetedEvent message = new TargetedEvent((IHumanPlayer) debt.getCreditor(), msg); clientServerEventBus.post(message); } }; } @VisibleForTesting
attribute = modelTranslator.getLocalDisplayName(((IPlayer) alderman).getCareerLevel()); Object[] args = {modelTranslator.getLocalDisplayDistinctArticle(articleMale, false), attribute, alderman.getName() + " " + alderman.getLastName(), alderman.getHometown().getName()}; DecoratedText text; if (dateService.isSameDay(electionDate, today)) { String template = messageSource.getMessage("ch.sahits.game.openpatrician.display.dialog.cityhall.HanseaticInfoDialog.electionDay", new Object[]{modelTranslator.toDisplayString(electionDate), alderman.getHometown().getName()}, locale.getCurrentLocal()); text = textFactory.createDecoratedText(template, new HashMap<>()); box.getChildren().add(text); text = textFactory.createDecoratedText(template, new HashMap<>()); box.getChildren().add(text); template = messageSource.getMessage("ch.sahits.game.openpatrician.display.dialog.cityhall.HanseaticInfoDialog.paragraph2", new Object[]{modelTranslator.toDisplayString(electionDate), alderman.getHometown().getName()}, locale.getCurrentLocal()); text = textFactory.createDecoratedText(template, new HashMap<>()); box.getChildren().add(text);
@VisibleForTesting Runnable createRemitRunnable(final IDebt debt) { return () -> { ICreditor creditor = debt.getCreditor(); if (creditor instanceof IPlayer) { ICity city = debt.getDebitor().getHometown(); IReputation reputation = city.getReputation((IPlayer) creditor); reputation.update(500); } }; } @VisibleForTesting
ICityHall cityHall = cityHallAccessor.getCityHall(town); ICitizen mayor = cityHall.getMayor(); Object[] args = {town.getName(), modelTranslator.getLocalDisplayDistinctArticle(player.getPersonalData().isMale(), false), mayor.getName()+" "+mayor.getLastName()};
@Subscribe public void handleGameStartEvent(NewGameClient newGameClient) { initialisation.initialisationHappened = true; for (int i = 0; i < initialisation.cities.size(); i++) { ICity city = initialisation.cities.get(i); initializeCity(city); } for (ICityHall cityHall : cityHalls) { if (aldermanCandidates.size() < 4) { aldermanCandidates.add(cityHall.getMayor()); } } ICitizen alderman = aldermanCandidates.get(rnd.nextInt(aldermanCandidates.size())); LocalDateTime election = date.getCurrentDate().plusDays(rnd.nextInt(600)); Optional<IHelpCity> task = stateFactory.createHelpCityAldermanTask(); task.ifPresent(iHelpCity -> aldermanOffice.getTasks().add(iHelpCity)); for (ICityHall cityHall : cityHalls) { ((CityHall)cityHall).setAlderman(alderman); ((CityHall)cityHall).setAldermanElectionDate(election); if (alderman.getHometown().equals(cityHall.getCity())) { Optional<IAldermanOffice> office = Optional.of(aldermanOffice); ((CityHall) cityHall).setAldermanOffice(office); } } } @Subscribe
private DecoratedText getCandidateRow(ICitizen candidate) { Object[] args; String template; DecoratedText text; if (candidate instanceof IHumanPlayer) { IPlayer p = (IPlayer) candidate; args = new Object[]{modelTranslator.getLocalDisplayDistinctArticle(p.getPersonalData().isMale(), true), modelTranslator.getLocalDisplayName(p.getCareerLevel()), modelTranslator.getLocalDisplayName(p.getRank()), p.getName()+" "+p.getLastName()}; } else { args = new Object[]{modelTranslator.getLocalDisplayDistinctArticle(true, true), modelTranslator.getLocalDisplayName(EEconomicCareer.SMART), modelTranslator.getLocalDisplayName(candidate.getRank()), candidate.getName()+" "+candidate.getLastName()}; } template = messageSource.getMessage("ch.sahits.game.openpatrician.display.dialog.cityhall.TownInfoNotice.candidate", args, locale.getCurrentLocal()); text = textFactory.createDecoratedText(template, new HashMap<>()); return text; }
String pawnBtnLbl = "ch.sahits.game.openpatrician.engine.land.city.LoanerEngine.pawnBtn"; int sum = (int) (debt.getAmount() * debt.getInterest()); Object[] messageArgs = new Object[] {debt.getDebitor().getName(), debt.getDebitor().getLastName(), sum}; Runnable remit = createRemitRunnable(debt); Runnable pawn = createPawnRunnable(debt, city);
if (alderman.getHometown().equals(violation.getCity())) { violation.setPunishment(ECityViolationPunishment.NONE); } else {
@PostConstruct private void initializeDialog() { final ICity city1 = city.getCity(); loaner = (LoanerState) loanerService.findLoaner(city1); setTitle(messageSource.getMessage("ch.sahits.game.openpatrician.display.dialog.LoanerListLoansDialog.title", new Object[]{}, locale.getCurrentLocal())); addDecoratedText("ch.sahits.game.openpatrician.display.dialog.LoanerListLoansDialog.subHeader", "introText"); addVerticalSpacer(20); String cityName = city1.getName(); for (IDebt debt : loanerService.findLoans(loaner, city.getPlayer())) { final ICitizen debitor = debt.getDebitor(); String title = translator.getLocalDisplayName(debitor.getRank()); int paybacksum = (int)(debt.getInterest() * debt.getAmount()); final LocalDateTime dueDate1 = debt.getDueDate(); String dueDate = translator.toDisplayString(dueDate1); addDecoratedText("ch.sahits.game.openpatrician.display.dialog.LoanerListLoansDialog.outstandingLoan", "outstandingLoan", title, debitor.getName(), debitor.getLastName(), cityName, paybacksum, dueDate); } } /**
String name = winner.getName() + " " + winner.getLastName(); switch (result.getType()) { case MAYORAL: {
private DecoratedText getCandidateRow(ICitizen candidate, IElectionResult result) { Object[] args; String template; DecoratedText text; if (candidate instanceof IHumanPlayer) { IPlayer p = (IPlayer) candidate; args = new Object[]{modelTranslator.getLocalDisplayDistinctArticle(p.getPersonalData().isMale(), true), modelTranslator.getLocalDisplayName(p.getCareerLevel()), modelTranslator.getLocalDisplayName(p.getRank()), p.getName()+" "+p.getLastName()}; } else { args = new Object[]{modelTranslator.getLocalDisplayDistinctArticle(true, true), modelTranslator.getLocalDisplayName(EEconomicCareer.SMART), modelTranslator.getLocalDisplayName(candidate.getRank()), candidate.getName()+" "+candidate.getLastName()}; } template = messageSource.getMessage("ch.sahits.game.openpatrician.display.dialog.cityhall.TownInfoNotice.candidate", args, locale.getCurrentLocal()); text = textFactory.createDecoratedText(template, new HashMap<>()); text.setOnMouseReleased((evt) -> { result.vote(candidate); executeOnCloseButtonClicked(); }); return text; }
if (index < 4) { final ICitizen citizen = request.getCitizen(); String rank = translator.getLocalDisplayName(citizen.getRank()); final DecoratedText entry = addDecoratedText("ch.sahits.game.openpatrician.display.dialog.LoanerGiveLoanDialog.request", "request"+index, rank, citizen.getName(), citizen.getLastName(), request.getSum(), request.getDurationInWeeks()); loans.add(entry); entry.setOnMouseReleased(mouseEvent -> {