mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 02:30:08 -08:00
refactor: clean code
This commit is contained in:
parent
8d603cea01
commit
3c8d70c64e
2 changed files with 85 additions and 80 deletions
|
|
@ -15,7 +15,7 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* GUI component. Image button with hover support and GUI scale support
|
||||
* GUI component. Image button with mouse hover and GUI scale support
|
||||
*
|
||||
* @author nantuko, JayDi85
|
||||
*/
|
||||
|
|
@ -309,10 +309,16 @@ public class HoverButton extends JPanel implements MouseListener {
|
|||
public void mouseReleased(MouseEvent e) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Set on click action
|
||||
*/
|
||||
public void setObserver(Command observer) {
|
||||
this.observer = observer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set on mouse entered action
|
||||
*/
|
||||
public void setOnHover(Command onHover) {
|
||||
this.onHover = onHover;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
|||
|
||||
private static final int PANEL_WIDTH = 94;
|
||||
private static final int PANEL_HEIGHT = 270; // full mode (with avatar image)
|
||||
private static final int PANEL_HEIGHT_SMALL = 238; // small mode (with avatar button) // TODO: no need in small mode after GUI scale added
|
||||
private static final int PANEL_HEIGHT_SMALL = 218; // small mode (with avatar button) // TODO: no need in small mode after GUI scale added
|
||||
private static final int PANEL_HEIGHT_EXTRA_FOR_ME = 25; // hints button
|
||||
|
||||
private final Border GREEN_BORDER;
|
||||
|
|
@ -510,10 +510,6 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
|||
setTextForLabel(category, mana.getKey(), manaButtons.get(mana.getKey()), pool.getColorless(), false, activeValueColor);
|
||||
break;
|
||||
}
|
||||
|
||||
//HoverButton btn = manaButtons.get(mana.getKey());
|
||||
//mana.getKey().setOpaque(true);
|
||||
//mana.getKey().setBackground(Color.green);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -528,9 +524,6 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
|||
|
||||
panelBackground = new MageRoundPane();
|
||||
panelBackground.setPreferredSize(new Dimension(sizeMod(PANEL_WIDTH - 2), sizeMod(PANEL_HEIGHT)));
|
||||
Rectangle r = new Rectangle(sizeMod(80), sizeMod(80));
|
||||
// avatarFlag = new JLabel();
|
||||
// monarchIcon = new JLabel();
|
||||
timerLabel = new JLabel();
|
||||
lifeLabel = new JLabel();
|
||||
handLabel = new JLabel();
|
||||
|
|
@ -552,12 +545,11 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
|||
panelBackground.setBorder(BorderFactory.createLineBorder(Color.yellow));
|
||||
}
|
||||
|
||||
// Avatar
|
||||
// avatar in normal mode (image)
|
||||
Rectangle r = new Rectangle(sizeMod(80), sizeMod(80));
|
||||
Image image = ImageHelper.getImageFromResources(DEFAULT_AVATAR_PATH);
|
||||
|
||||
BufferedImage resized = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(image, BufferedImage.TYPE_INT_ARGB), r);
|
||||
avatar = new HoverButton("", resized, resized, resized, r, this.guiScaleMod);
|
||||
|
||||
String showPlayerNamePermanently = MageFrame.getPreferences().get(PreferencesDialog.KEY_SHOW_PLAYER_NAMES_PERMANENTLY, "true");
|
||||
if (showPlayerNamePermanently.equals("true")) {
|
||||
avatar.setTextAlwaysVisible(true);
|
||||
|
|
@ -565,12 +557,21 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
|||
avatar.setTextOffsetButtonY(sizeMod(10));
|
||||
avatar.setObserver(() -> SessionHandler.sendPlayerUUID(gameId, playerId));
|
||||
|
||||
// timer area /small layout)
|
||||
// avatar in small mode (button)
|
||||
btnPlayer = new JButton();
|
||||
btnPlayer.setFont(this.getFont());
|
||||
btnPlayer.setText("Player");
|
||||
btnPlayer.setVisible(false);
|
||||
btnPlayer.setToolTipText("Player");
|
||||
btnPlayer.setPreferredSize(new Dimension(sizeMod(20), sizeMod(40)));
|
||||
btnPlayer.addActionListener(e -> SessionHandler.sendPlayerUUID(gameId, playerId));
|
||||
|
||||
// timer area /small layout
|
||||
timerLabel.setToolTipText("Time left");
|
||||
timerLabel.setSize(sizeMod(80), sizeMod(12));
|
||||
timerLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
|
||||
// life area
|
||||
// life
|
||||
r = new Rectangle(sizeMod(18), sizeMod(18));
|
||||
lifeLabel.setToolTipText("Life");
|
||||
lifeLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
|
|
@ -580,7 +581,7 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
|||
life.setToolTipText("Life");
|
||||
life.setOpaque(false);
|
||||
|
||||
// hand area
|
||||
// hand
|
||||
r = new Rectangle(sizeMod(18), sizeMod(18));
|
||||
handLabel.setToolTipText("Hand");
|
||||
handLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
|
|
@ -590,7 +591,7 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
|||
hand.setToolTipText("Hand");
|
||||
hand.setOpaque(false);
|
||||
|
||||
// Poison count
|
||||
// poison
|
||||
r = new Rectangle(sizeMod(18), sizeMod(18));
|
||||
Image imagePoison = ImageHelper.getImageFromResources("/info/poison.png");
|
||||
BufferedImage resizedPoison = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(imagePoison, BufferedImage.TYPE_INT_ARGB), r);
|
||||
|
|
@ -599,30 +600,59 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
|||
setTextForLabel("poison", poisonLabel, poison, 0, false);
|
||||
poisonLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
|
||||
// Library
|
||||
// library
|
||||
r = new Rectangle(sizeMod(19), sizeMod(19));
|
||||
libraryLabel.setToolTipText("Library");
|
||||
libraryLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
Image imageLibrary = ImageHelper.getImageFromResources("/info/library.png");
|
||||
BufferedImage resizedLibrary = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(imageLibrary, BufferedImage.TYPE_INT_ARGB), r);
|
||||
|
||||
library = new HoverButton(null, resizedLibrary, resizedLibrary, resizedLibrary, r, this.guiScaleMod);
|
||||
library.setToolTipText("Library");
|
||||
library.setOpaque(false);
|
||||
library.setObserver(() -> btnLibraryActionPerformed(null));
|
||||
|
||||
// Grave count and open graveyard button
|
||||
// energy
|
||||
r = new Rectangle(sizeMod(18), sizeMod(18));
|
||||
Image imageEnergy = ImageHelper.getImageFromResources("/info/energy.png");
|
||||
BufferedImage resizedEnergy = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(imageEnergy, BufferedImage.TYPE_INT_ARGB), r);
|
||||
energy = new ImagePanel(resizedEnergy, ImagePanelStyle.ACTUAL);
|
||||
energy.setToolTipText("Energy");
|
||||
energy.setOpaque(false);
|
||||
setTextForLabel("energy", energyLabel, energy, 0, false);
|
||||
energyLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
|
||||
// experience
|
||||
r = new Rectangle(sizeMod(18), sizeMod(18));
|
||||
Image imageExperience = ImageHelper.getImageFromResources("/info/experience.png");
|
||||
BufferedImage resizedExperience = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(imageExperience, BufferedImage.TYPE_INT_ARGB), r);
|
||||
experience = new ImagePanel(resizedExperience, ImagePanelStyle.ACTUAL);
|
||||
experience.setToolTipText("Experience");
|
||||
experience.setOpaque(false);
|
||||
setTextForLabel("experience", experienceLabel, experience, 0, false);
|
||||
experienceLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
|
||||
// rad
|
||||
r = new Rectangle(sizeMod(16), sizeMod(16));
|
||||
Image imageRad = ImageHelper.getImageFromResources("/info/rad.png");
|
||||
BufferedImage resizedRad = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(imageRad, BufferedImage.TYPE_INT_ARGB), r);
|
||||
rad = new ImagePanel(resizedRad, ImagePanelStyle.ACTUAL);
|
||||
rad.setToolTipText("Rad");
|
||||
rad.setOpaque(false);
|
||||
setTextForLabel("rad", radLabel, rad, 0, false);
|
||||
radLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
|
||||
// graveyard
|
||||
r = new Rectangle(sizeMod(21), sizeMod(21));
|
||||
graveLabel.setToolTipText("Card Types: 0");
|
||||
graveLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
Image imageGrave = ImageHelper.getImageFromResources("/info/grave.png");
|
||||
BufferedImage resizedGrave = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(imageGrave, BufferedImage.TYPE_INT_ARGB), r);
|
||||
|
||||
grave = new HoverButton(null, resizedGrave, resizedGrave, resizedGrave, r, this.guiScaleMod);
|
||||
grave.setToolTipText("Graveyard");
|
||||
grave.setOpaque(false);
|
||||
grave.setObserver(() -> btnGraveActionPerformed(null));
|
||||
|
||||
// exile
|
||||
exileLabel = new JLabel();
|
||||
exileLabel.setToolTipText("Exile");
|
||||
exileLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
|
|
@ -635,30 +665,24 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
|||
exileZone.setObserver(() -> btnExileZoneActionPerformed(null));
|
||||
exileZone.setBounds(sizeMod(25), 0, sizeMod(21), sizeMod(21));
|
||||
|
||||
// Cheat button
|
||||
r = new Rectangle(sizeMod(25), sizeMod(21));
|
||||
image = ImageHelper.getImageFromResources("/info/cheat.png");
|
||||
resized = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(image, BufferedImage.TYPE_INT_ARGB), r);
|
||||
cheat = new JButton();
|
||||
cheat.setIcon(new ImageIcon(resized));
|
||||
cheat.setToolTipText("Cheat button (activate it on your priority only)");
|
||||
cheat.addActionListener(e -> btnCheatActionPerformed(e));
|
||||
|
||||
// tools button like hints
|
||||
toolHintsHelper = new JButton();
|
||||
toolHintsHelper.setFont(this.getFont());
|
||||
toolHintsHelper.setText("hints");
|
||||
toolHintsHelper.setToolTipText("Open new card hints helper window");
|
||||
toolHintsHelper.addActionListener(e -> btnToolHintsHelperActionPerformed(e));
|
||||
|
||||
zonesPanel = new JPanel();
|
||||
zonesPanel.setPreferredSize(new Dimension(sizeMod(100), sizeMod(60)));
|
||||
zonesPanel.setSize(sizeMod(100), sizeMod(60));
|
||||
zonesPanel.setLayout(null);
|
||||
zonesPanel.setOpaque(false);
|
||||
|
||||
image = ImageHelper.getImageFromResources("/info/command_zone.png");
|
||||
// tools button like hints
|
||||
toolHintsHelper = new JButton();
|
||||
toolHintsHelper.setFont(this.getFont());
|
||||
toolHintsHelper.setText("hints");
|
||||
toolHintsHelper.setToolTipText("Open new card hints helper window");
|
||||
toolHintsHelper.addActionListener(this::btnToolHintsHelperActionPerformed);
|
||||
toolHintsHelper.setBounds(sizeMod(3), sizeMod(2 + 21 + 2), sizeMod(73), sizeMod(21));
|
||||
zonesPanel.add(toolHintsHelper);
|
||||
|
||||
// command
|
||||
r = new Rectangle(sizeMod(21), sizeMod(21));
|
||||
image = ImageHelper.getImageFromResources("/info/command_zone.png");
|
||||
resized = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(image, BufferedImage.TYPE_INT_ARGB), r);
|
||||
commandZone = new HoverButton(null, resized, resized, resized, r, this.guiScaleMod);
|
||||
commandZone.setToolTipText("Command Zone (Commanders, Emblems and Planes)");
|
||||
|
|
@ -666,55 +690,21 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
|||
commandZone.setObserver(() -> btnCommandZoneActionPerformed(null));
|
||||
commandZone.setBounds(sizeMod(3), 0, sizeMod(21), sizeMod(21));
|
||||
zonesPanel.add(commandZone);
|
||||
|
||||
commandLabel.setToolTipText("Command zone");
|
||||
commandLabel.setBounds(sizeMod(25), 0, sizeMod(21), sizeMod(21));
|
||||
zonesPanel.add(commandLabel);
|
||||
|
||||
// cheat
|
||||
r = new Rectangle(sizeMod(25), sizeMod(21));
|
||||
image = ImageHelper.getImageFromResources("/info/cheat.png");
|
||||
resized = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(image, BufferedImage.TYPE_INT_ARGB), r);
|
||||
cheat = new JButton();
|
||||
cheat.setIcon(new ImageIcon(resized));
|
||||
cheat.setToolTipText("Cheat button (activate it on your priority only)");
|
||||
cheat.addActionListener(this::btnCheatActionPerformed);
|
||||
cheat.setBounds(sizeMod(40), sizeMod(2), sizeMod(25), sizeMod(21));
|
||||
zonesPanel.add(cheat);
|
||||
|
||||
toolHintsHelper.setBounds(sizeMod(3), sizeMod(2 + 21 + 2), sizeMod(73), sizeMod(21));
|
||||
zonesPanel.add(toolHintsHelper);
|
||||
|
||||
// Energy count
|
||||
r = new Rectangle(sizeMod(18), sizeMod(18));
|
||||
Image imageEnergy = ImageHelper.getImageFromResources("/info/energy.png");
|
||||
BufferedImage resizedEnergy = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(imageEnergy, BufferedImage.TYPE_INT_ARGB), r);
|
||||
energy = new ImagePanel(resizedEnergy, ImagePanelStyle.ACTUAL);
|
||||
energy.setToolTipText("Energy");
|
||||
energy.setOpaque(false);
|
||||
setTextForLabel("energy", energyLabel, energy, 0, false);
|
||||
energyLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
|
||||
// Experience count
|
||||
r = new Rectangle(sizeMod(18), sizeMod(18));
|
||||
Image imageExperience = ImageHelper.getImageFromResources("/info/experience.png");
|
||||
BufferedImage resizedExperience = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(imageExperience, BufferedImage.TYPE_INT_ARGB), r);
|
||||
experience = new ImagePanel(resizedExperience, ImagePanelStyle.ACTUAL);
|
||||
experience.setToolTipText("Experience");
|
||||
experience.setOpaque(false);
|
||||
setTextForLabel("experience", experienceLabel, experience, 0, false);
|
||||
experienceLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
|
||||
// Rad count
|
||||
r = new Rectangle(sizeMod(16), sizeMod(16));
|
||||
Image imageRad = ImageHelper.getImageFromResources("/info/rad.png");
|
||||
BufferedImage resizedRad = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(imageRad, BufferedImage.TYPE_INT_ARGB), r);
|
||||
rad = new ImagePanel(resizedRad, ImagePanelStyle.ACTUAL);
|
||||
rad.setToolTipText("Rad");
|
||||
rad.setOpaque(false);
|
||||
setTextForLabel("rad", radLabel, rad, 0, false);
|
||||
radLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
|
||||
btnPlayer = new JButton();
|
||||
btnPlayer.setFont(this.getFont());
|
||||
btnPlayer.setText("Player");
|
||||
btnPlayer.setVisible(false);
|
||||
btnPlayer.setToolTipText("Player");
|
||||
btnPlayer.setPreferredSize(new Dimension(sizeMod(20), sizeMod(40)));
|
||||
btnPlayer.addActionListener(e -> SessionHandler.sendPlayerUUID(gameId, playerId));
|
||||
|
||||
// Add mana symbols
|
||||
// TODO: replace "button + label" to label on rework
|
||||
/*
|
||||
|
|
@ -736,6 +726,8 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
|||
manaLabels.put(manaCountLabelW, ManaType.WHITE);l
|
||||
//*/
|
||||
///*
|
||||
|
||||
// mana W
|
||||
JLabel manaCountLabelW = new JLabel();
|
||||
manaCountLabelW.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
manaLabels.put(manaCountLabelW, ManaType.WHITE);
|
||||
|
|
@ -748,6 +740,7 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
|||
setTextForLabel(ManaType.WHITE.toString() + " mana", manaCountLabelW, btnWhiteMana, 0, false);
|
||||
//*/
|
||||
|
||||
// mana U
|
||||
JLabel manaCountLabelU = new JLabel();
|
||||
manaLabels.put(manaCountLabelU, ManaType.BLUE);
|
||||
manaCountLabelU.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
|
|
@ -759,6 +752,7 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
|||
manaButtons.put(manaCountLabelU, btnBlueMana);
|
||||
setTextForLabel(ManaType.BLUE.toString() + " mana", manaCountLabelU, btnBlueMana, 0, false);
|
||||
|
||||
// mana B
|
||||
JLabel manaCountLabelB = new JLabel();
|
||||
manaLabels.put(manaCountLabelB, ManaType.BLACK);
|
||||
manaCountLabelB.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
|
|
@ -770,6 +764,7 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
|||
manaButtons.put(manaCountLabelB, btnBlackMana);
|
||||
setTextForLabel(ManaType.BLACK.toString() + " mana", manaCountLabelB, btnBlackMana, 0, false);
|
||||
|
||||
// mana R
|
||||
JLabel manaCountLabelR = new JLabel();
|
||||
manaLabels.put(manaCountLabelR, ManaType.RED);
|
||||
manaCountLabelR.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
|
|
@ -781,6 +776,7 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
|||
manaButtons.put(manaCountLabelR, btnRedMana);
|
||||
setTextForLabel(ManaType.RED.toString() + " mana", manaCountLabelR, btnRedMana, 0, false);
|
||||
|
||||
// mana G
|
||||
JLabel manaCountLabelG = new JLabel();
|
||||
manaLabels.put(manaCountLabelG, ManaType.GREEN);
|
||||
manaCountLabelG.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
|
|
@ -792,6 +788,7 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
|||
manaButtons.put(manaCountLabelG, btnGreenMana);
|
||||
setTextForLabel(ManaType.GREEN.toString() + " mana", manaCountLabelG, btnGreenMana, 0, false);
|
||||
|
||||
// mana C
|
||||
JLabel manaCountLabelX = new JLabel();
|
||||
manaLabels.put(manaCountLabelX, ManaType.COLORLESS);
|
||||
manaCountLabelX.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
|
|
@ -801,8 +798,10 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
|||
btnColorlessMana.setOpaque(false);
|
||||
btnColorlessMana.setObserver(() -> btnManaActionPerformed(ManaType.COLORLESS));
|
||||
manaButtons.put(manaCountLabelX, btnColorlessMana);
|
||||
setTextForLabel(ManaType.COLORLESS.toString() + " mana", manaCountLabelX, btnColorlessMana, 0, false);
|
||||
setTextForLabel(ManaType.COLORLESS + " mana", manaCountLabelX, btnColorlessMana, 0, false);
|
||||
|
||||
// STRUCTURE
|
||||
// TODO: rework to readable/editable layout logic
|
||||
GroupLayout gl_panelBackground = new GroupLayout(panelBackground);
|
||||
gl_panelBackground.setHorizontalGroup(
|
||||
gl_panelBackground.createParallelGroup(Alignment.LEADING)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue