package com.faforever.client.game; import com.faforever.client.chat.PlayerInfoBean; import com.faforever.client.i18n.I18n; import com.faforever.client.player.PlayerService; import com.faforever.client.util.RatingUtil; import javafx.fxml.FXML; import javafx.scene.Node; import javafx.scene.control.TitledPane; import javafx.scene.layout.VBox; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.ApplicationContext; import javax.annotation.Resource; import java.lang.invoke.MethodHandles; import java.util.List; public class TeamCardController { private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); @FXML TitledPane teamPaneRoot; @FXML VBox teamPane; @Resource PlayerService playerService; @Resource ApplicationContext applicationContext; @Resource I18n i18n; public void setPlayersInTeam(String team, List<String> playerList) { int totalRating = 0; for (String player : playerList) { PlayerInfoBean playerInfoBean = playerService.getPlayerForUsername(player); if (playerInfoBean == null) { logger.warn("{} is not returned by playerService", player); continue; } PlayerCardTooltipController playerCardTooltipController = applicationContext.getBean(PlayerCardTooltipController.class); playerCardTooltipController.setPlayer(playerInfoBean); teamPane.getChildren().add(playerCardTooltipController.getRoot()); totalRating += RatingUtil.getRoundedGlobalRating(playerInfoBean); } String teamTitle; if ("1".equals(team) || "-1".equals(team)) { teamTitle = i18n.get("game.tooltip.teamTitleNoTeam"); } else if ("null".equals(team)) { teamTitle = i18n.get("game.tooltip.observers"); } else { teamTitle = i18n.get("game.tooltip.teamTitle", Integer.valueOf(team) - 1, totalRating); } teamPaneRoot.setText(teamTitle); } public Node getRoot() { return teamPaneRoot; } }