package magic.ui.screen.duel.setup; import java.awt.Color; import javax.swing.BorderFactory; import magic.model.player.PlayerProfile; import magic.ui.screen.interfaces.IThemeStyle; import magic.ui.theme.Theme; import magic.ui.utility.MagicStyle; import magic.ui.widget.TexturedPanel; import net.miginfocom.swing.MigLayout; /** * Displays player avatar, details and statistics. * */ @SuppressWarnings("serial") public class DuelPlayerPanel extends TexturedPanel implements IThemeStyle { private final MigLayout migLayout = new MigLayout(); private final PlayerProfilePanel playerProfilePanel = new PlayerProfilePanel(); private final PlayerStatsPanel statsPanel; private PlayerProfile player; // CTR public DuelPlayerPanel(final PlayerProfile player) { this.player = player; statsPanel = new PlayerStatsPanel(player.getStats()); setLookAndFeel(); setPlayer(player); } private void setLookAndFeel() { refreshStyle(); setLayout(migLayout); } private void refreshLayout() { removeAll(); migLayout.setLayoutConstraints("flowy, gapy 10"); add(playerProfilePanel, "w 100%, h 70!"); add(statsPanel, "w 100%, h 100%"); } public void setPlayer(final PlayerProfile player) { this.player = player; playerProfilePanel.setPlayer(player); statsPanel.setPlayerStats(player.getStats()); refreshLayout(); } public PlayerProfile getPlayer() { return player; } @Override public void refreshStyle() { final Color refBG = MagicStyle.getTheme().getColor(Theme.COLOR_TITLE_BACKGROUND); final Color thisBG = MagicStyle.getTranslucentColor(refBG, 220); setBackground(thisBG); setBorder(BorderFactory.createEmptyBorder(2,2,2,2)); } }