@Override
public LinkedHashSet<NoticeBoardMenuEntry> createMenuEntries(ICityPlayerProxyJFX proxy, ENoticeBoardType type) {
LinkedHashSet<NoticeBoardMenuEntry> entries = new LinkedHashSet<>();
final TavernState tavernState = getTavernState(proxy.getCity());
Optional<ICaptain> captain = captainsState.getCaptain(proxy.getCity());
List<IPerson> present = tavernState.presentPersonsProperty();
List<ISideRoomPerson> sideRoom = Lists.newArrayList();
List<IPerson> mainRoom = Lists.newArrayList();
IPlayer player = proxy.getPlayer();
collectPresentPersons(tavernState, present, sideRoom, mainRoom, player);
captain.ifPresent(mainRoom::add);
for (IPerson pers : mainRoom) {
String s = messageSource.getMessage(pers.getClass().getName() + ".noticeboardTitle", new Object[0], locale.getCurrentLocal());
NoticeBoardMenuEntry entry = createNoticeBoardEntryMainRoom(s, pers, tavernState, player);
entries.add(entry);
}
if (!sideRoom.isEmpty()) {
String s = messageSource.getMessage("ch.sahits.game.openpatrician.display.notice.NoticeBoardFactory.sideRoom", new Object[]{}, locale.getCurrentLocal());
NoticeBoardMenuEntry entry = createNoticeBoardEntrySideRoom(s, sideRoom.get(0), tavernState, player);
entries.add(entry);
}
return entries;
}
@VisibleForTesting