reduce calls to MagicPlayerDefinition.getAvatar() to single point in IconImages.getSizedAvatarImageIcon().

master
lodici 2015-02-14 14:31:30 +00:00
parent 923e105c18
commit 21af332cbf
7 changed files with 30 additions and 6 deletions

View File

@ -48,7 +48,7 @@ public final class GameStateSnapshot {
final MagicPlayerDefinition playerDef = duel.getPlayer(playerIndex);
final GamePlayerState gamePlayerState = gameState.getPlayer(playerIndex);
gamePlayerState.setName(playerDef.getName());
gamePlayerState.setFace(playerDef.getAvatar().getFace());
// gamePlayerState.setFace(playerDef.getAvatar().getFace());
gamePlayerState.setDeckProfileColors(playerDef.getDeckProfile().getColorText());
if (playerDef.isArtificial()) {
gamePlayerState.setAiType(getAiType(duel.getAIs()[playerIndex]));

View File

@ -9,6 +9,7 @@ import magic.model.MagicColor;
import magic.model.MagicManaType;
import magic.model.MagicCardDefinition;
import magic.model.MagicPermanent;
import magic.model.MagicPlayerDefinition;
import magic.utility.MagicResources;
public final class IconImages {
@ -146,4 +147,24 @@ public final class IconImages {
}
throw new RuntimeException("No icon available for MagicManaType " + mtype);
}
public static ImageIcon getIconSize1(final MagicPlayerDefinition playerDef) {
return getSizedAvatarImageIcon(playerDef, 1);
}
public static ImageIcon getIconSize2(final MagicPlayerDefinition playerDef) {
return getSizedAvatarImageIcon(playerDef, 2);
}
public static ImageIcon getIconSize3(final MagicPlayerDefinition playerDef) {
return getSizedAvatarImageIcon(playerDef, 3);
}
public static ImageIcon getIconSize4(final MagicPlayerDefinition playerDef) {
return getSizedAvatarImageIcon(playerDef, 4);
}
private static ImageIcon getSizedAvatarImageIcon(final MagicPlayerDefinition playerDef, final int size) {
return playerDef.getAvatar().getIcon(size);
}
}

View File

@ -8,6 +8,7 @@ import javax.swing.SwingConstants;
import magic.model.MagicGame;
import magic.model.MagicPlayer;
import magic.ui.GameController;
import magic.ui.IconImages;
import magic.ui.theme.Theme;
import magic.ui.widget.FontsAndBorders;
import magic.ui.widget.TexturedPanel;
@ -32,7 +33,7 @@ public class EndGameMessagePanel extends TexturedPanel {
final MagicPlayer losingPlayer = game.getLosingPlayer();
final MagicPlayer winningPlayer = losingPlayer == humanPlayer ? aiPlayer : humanPlayer;
//
final JLabel iconLabel = new JLabel(winningPlayer.getPlayerDefinition().getAvatar().getIcon(3));
final JLabel iconLabel = new JLabel(IconImages.getIconSize3(winningPlayer.getPlayerDefinition()));
final Icon winningAvatar = iconLabel.getIcon();
iconLabel.setPreferredSize(new Dimension(winningAvatar.getIconWidth(), winningAvatar.getIconHeight()));
add(iconLabel, "alignx center");

View File

@ -123,7 +123,7 @@ public class GameStatusPanel extends TexturedPanel implements ChangeListener {
}
public void refreshData(final MagicGame game) {
iconLabel.setIcon(game.getTurnPlayer().getPlayerDefinition().getAvatar().getIcon(3));
iconLabel.setIcon(IconImages.getIconSize3(game.getTurnPlayer().getPlayerDefinition()));
turnLabel.setText("Turn " + game.getTurn());
playerLabel.setText(game.getTurnPlayer().getName());
}

View File

@ -195,7 +195,7 @@ public class UserActionPanel extends JPanel implements ActionListener {
* for use with the GameStatusPanel component.
*/
public ImageIcon getTurnSizedPlayerAvatar() {
return game.getPriorityPlayer().getPlayerDefinition().getAvatar().getIcon(4);
return IconImages.getIconSize4(game.getPriorityPlayer().getPlayerDefinition());
}
}

View File

@ -5,6 +5,7 @@ import java.awt.Dimension;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import magic.model.MagicPlayerDefinition;
import magic.ui.IconImages;
import magic.ui.widget.TexturedPanel;
@SuppressWarnings("serial")
@ -50,10 +51,11 @@ public class PlayerAvatarPanel extends TexturedPanel {
private void update() {
if (playerDefinition != null) {
faceLabel.setIcon(playerDefinition.getAvatar().getIcon(small ? 2 : 3));
if (small) {
faceLabel.setIcon(IconImages.getIconSize2(playerDefinition));
setPreferredSize(new Dimension(72,80));
} else {
faceLabel.setIcon(IconImages.getIconSize3(playerDefinition));
setPreferredSize(new Dimension(120,150));
}
revalidate();

View File

@ -99,6 +99,6 @@ public class MessagePanel extends JPanel {
}
private JLabel getPlayerAvatar() {
return new JLabel(message.getPlayer().getPlayerDefinition().getAvatar().getIcon(1));
return new JLabel(IconImages.getIconSize1(message.getPlayer().getPlayerDefinition()));
}
}