From 21af332cbf112c8a2522fd1cf9049ebb5da52e55 Mon Sep 17 00:00:00 2001 From: lodici Date: Sat, 14 Feb 2015 14:31:30 +0000 Subject: [PATCH] reduce calls to MagicPlayerDefinition.getAvatar() to single point in IconImages.getSizedAvatarImageIcon(). --- src/magic/game/state/GameStateSnapshot.java | 2 +- src/magic/ui/IconImages.java | 21 +++++++++++++++++++ .../ui/duel/dialog/EndGameMessagePanel.java | 3 ++- src/magic/ui/duel/viewer/GameStatusPanel.java | 2 +- src/magic/ui/duel/viewer/UserActionPanel.java | 2 +- src/magic/ui/player/PlayerAvatarPanel.java | 4 +++- src/magic/ui/widget/MessagePanel.java | 2 +- 7 files changed, 30 insertions(+), 6 deletions(-) diff --git a/src/magic/game/state/GameStateSnapshot.java b/src/magic/game/state/GameStateSnapshot.java index eddd2f7b0c..ce6f494a16 100644 --- a/src/magic/game/state/GameStateSnapshot.java +++ b/src/magic/game/state/GameStateSnapshot.java @@ -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])); diff --git a/src/magic/ui/IconImages.java b/src/magic/ui/IconImages.java index 8c53ad5a30..916227827b 100644 --- a/src/magic/ui/IconImages.java +++ b/src/magic/ui/IconImages.java @@ -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); + } } diff --git a/src/magic/ui/duel/dialog/EndGameMessagePanel.java b/src/magic/ui/duel/dialog/EndGameMessagePanel.java index 5c5907118c..3935fde55d 100644 --- a/src/magic/ui/duel/dialog/EndGameMessagePanel.java +++ b/src/magic/ui/duel/dialog/EndGameMessagePanel.java @@ -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"); diff --git a/src/magic/ui/duel/viewer/GameStatusPanel.java b/src/magic/ui/duel/viewer/GameStatusPanel.java index c9e36a18f2..664cc6c63f 100644 --- a/src/magic/ui/duel/viewer/GameStatusPanel.java +++ b/src/magic/ui/duel/viewer/GameStatusPanel.java @@ -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()); } diff --git a/src/magic/ui/duel/viewer/UserActionPanel.java b/src/magic/ui/duel/viewer/UserActionPanel.java index 6a2a5b02a5..b23ddb18ad 100644 --- a/src/magic/ui/duel/viewer/UserActionPanel.java +++ b/src/magic/ui/duel/viewer/UserActionPanel.java @@ -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()); } } diff --git a/src/magic/ui/player/PlayerAvatarPanel.java b/src/magic/ui/player/PlayerAvatarPanel.java index 6e796ae247..388816da54 100644 --- a/src/magic/ui/player/PlayerAvatarPanel.java +++ b/src/magic/ui/player/PlayerAvatarPanel.java @@ -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(); diff --git a/src/magic/ui/widget/MessagePanel.java b/src/magic/ui/widget/MessagePanel.java index 44b51dc5e1..814317cd51 100644 --- a/src/magic/ui/widget/MessagePanel.java +++ b/src/magic/ui/widget/MessagePanel.java @@ -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())); } }