refactor: clean code

This commit is contained in:
Oleg Agafonov 2024-06-24 06:15:08 +04:00
parent 8d603cea01
commit 3c8d70c64e
2 changed files with 85 additions and 80 deletions

View file

@ -15,7 +15,7 @@ import java.util.ArrayList;
import java.util.List; 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 * @author nantuko, JayDi85
*/ */
@ -309,10 +309,16 @@ public class HoverButton extends JPanel implements MouseListener {
public void mouseReleased(MouseEvent e) { public void mouseReleased(MouseEvent e) {
} }
/**
* Set on click action
*/
public void setObserver(Command observer) { public void setObserver(Command observer) {
this.observer = observer; this.observer = observer;
} }
/**
* Set on mouse entered action
*/
public void setOnHover(Command onHover) { public void setOnHover(Command onHover) {
this.onHover = onHover; this.onHover = onHover;
} }

View file

@ -61,7 +61,7 @@ public class PlayerPanelExt extends javax.swing.JPanel {
private static final int PANEL_WIDTH = 94; 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 = 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 static final int PANEL_HEIGHT_EXTRA_FOR_ME = 25; // hints button
private final Border GREEN_BORDER; 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); setTextForLabel(category, mana.getKey(), manaButtons.get(mana.getKey()), pool.getColorless(), false, activeValueColor);
break; 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 = new MageRoundPane();
panelBackground.setPreferredSize(new Dimension(sizeMod(PANEL_WIDTH - 2), sizeMod(PANEL_HEIGHT))); 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(); timerLabel = new JLabel();
lifeLabel = new JLabel(); lifeLabel = new JLabel();
handLabel = new JLabel(); handLabel = new JLabel();
@ -552,12 +545,11 @@ public class PlayerPanelExt extends javax.swing.JPanel {
panelBackground.setBorder(BorderFactory.createLineBorder(Color.yellow)); 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); Image image = ImageHelper.getImageFromResources(DEFAULT_AVATAR_PATH);
BufferedImage resized = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(image, BufferedImage.TYPE_INT_ARGB), r); BufferedImage resized = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(image, BufferedImage.TYPE_INT_ARGB), r);
avatar = new HoverButton("", resized, resized, resized, r, this.guiScaleMod); avatar = new HoverButton("", resized, resized, resized, r, this.guiScaleMod);
String showPlayerNamePermanently = MageFrame.getPreferences().get(PreferencesDialog.KEY_SHOW_PLAYER_NAMES_PERMANENTLY, "true"); String showPlayerNamePermanently = MageFrame.getPreferences().get(PreferencesDialog.KEY_SHOW_PLAYER_NAMES_PERMANENTLY, "true");
if (showPlayerNamePermanently.equals("true")) { if (showPlayerNamePermanently.equals("true")) {
avatar.setTextAlwaysVisible(true); avatar.setTextAlwaysVisible(true);
@ -565,12 +557,21 @@ public class PlayerPanelExt extends javax.swing.JPanel {
avatar.setTextOffsetButtonY(sizeMod(10)); avatar.setTextOffsetButtonY(sizeMod(10));
avatar.setObserver(() -> SessionHandler.sendPlayerUUID(gameId, playerId)); 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.setToolTipText("Time left");
timerLabel.setSize(sizeMod(80), sizeMod(12)); timerLabel.setSize(sizeMod(80), sizeMod(12));
timerLabel.setHorizontalAlignment(SwingConstants.CENTER); timerLabel.setHorizontalAlignment(SwingConstants.CENTER);
// life area // life
r = new Rectangle(sizeMod(18), sizeMod(18)); r = new Rectangle(sizeMod(18), sizeMod(18));
lifeLabel.setToolTipText("Life"); lifeLabel.setToolTipText("Life");
lifeLabel.setHorizontalAlignment(SwingConstants.CENTER); lifeLabel.setHorizontalAlignment(SwingConstants.CENTER);
@ -580,7 +581,7 @@ public class PlayerPanelExt extends javax.swing.JPanel {
life.setToolTipText("Life"); life.setToolTipText("Life");
life.setOpaque(false); life.setOpaque(false);
// hand area // hand
r = new Rectangle(sizeMod(18), sizeMod(18)); r = new Rectangle(sizeMod(18), sizeMod(18));
handLabel.setToolTipText("Hand"); handLabel.setToolTipText("Hand");
handLabel.setHorizontalAlignment(SwingConstants.CENTER); handLabel.setHorizontalAlignment(SwingConstants.CENTER);
@ -590,7 +591,7 @@ public class PlayerPanelExt extends javax.swing.JPanel {
hand.setToolTipText("Hand"); hand.setToolTipText("Hand");
hand.setOpaque(false); hand.setOpaque(false);
// Poison count // poison
r = new Rectangle(sizeMod(18), sizeMod(18)); r = new Rectangle(sizeMod(18), sizeMod(18));
Image imagePoison = ImageHelper.getImageFromResources("/info/poison.png"); Image imagePoison = ImageHelper.getImageFromResources("/info/poison.png");
BufferedImage resizedPoison = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(imagePoison, BufferedImage.TYPE_INT_ARGB), r); 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); setTextForLabel("poison", poisonLabel, poison, 0, false);
poisonLabel.setHorizontalAlignment(SwingConstants.CENTER); poisonLabel.setHorizontalAlignment(SwingConstants.CENTER);
// Library // library
r = new Rectangle(sizeMod(19), sizeMod(19)); r = new Rectangle(sizeMod(19), sizeMod(19));
libraryLabel.setToolTipText("Library"); libraryLabel.setToolTipText("Library");
libraryLabel.setHorizontalAlignment(SwingConstants.CENTER); libraryLabel.setHorizontalAlignment(SwingConstants.CENTER);
Image imageLibrary = ImageHelper.getImageFromResources("/info/library.png"); Image imageLibrary = ImageHelper.getImageFromResources("/info/library.png");
BufferedImage resizedLibrary = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(imageLibrary, BufferedImage.TYPE_INT_ARGB), r); BufferedImage resizedLibrary = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(imageLibrary, BufferedImage.TYPE_INT_ARGB), r);
library = new HoverButton(null, resizedLibrary, resizedLibrary, resizedLibrary, r, this.guiScaleMod); library = new HoverButton(null, resizedLibrary, resizedLibrary, resizedLibrary, r, this.guiScaleMod);
library.setToolTipText("Library"); library.setToolTipText("Library");
library.setOpaque(false); library.setOpaque(false);
library.setObserver(() -> btnLibraryActionPerformed(null)); 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)); r = new Rectangle(sizeMod(21), sizeMod(21));
graveLabel.setToolTipText("Card Types: 0"); graveLabel.setToolTipText("Card Types: 0");
graveLabel.setHorizontalAlignment(SwingConstants.CENTER); graveLabel.setHorizontalAlignment(SwingConstants.CENTER);
Image imageGrave = ImageHelper.getImageFromResources("/info/grave.png"); Image imageGrave = ImageHelper.getImageFromResources("/info/grave.png");
BufferedImage resizedGrave = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(imageGrave, BufferedImage.TYPE_INT_ARGB), r); BufferedImage resizedGrave = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(imageGrave, BufferedImage.TYPE_INT_ARGB), r);
grave = new HoverButton(null, resizedGrave, resizedGrave, resizedGrave, r, this.guiScaleMod); grave = new HoverButton(null, resizedGrave, resizedGrave, resizedGrave, r, this.guiScaleMod);
grave.setToolTipText("Graveyard"); grave.setToolTipText("Graveyard");
grave.setOpaque(false); grave.setOpaque(false);
grave.setObserver(() -> btnGraveActionPerformed(null)); grave.setObserver(() -> btnGraveActionPerformed(null));
// exile
exileLabel = new JLabel(); exileLabel = new JLabel();
exileLabel.setToolTipText("Exile"); exileLabel.setToolTipText("Exile");
exileLabel.setHorizontalAlignment(SwingConstants.CENTER); exileLabel.setHorizontalAlignment(SwingConstants.CENTER);
@ -635,30 +665,24 @@ public class PlayerPanelExt extends javax.swing.JPanel {
exileZone.setObserver(() -> btnExileZoneActionPerformed(null)); exileZone.setObserver(() -> btnExileZoneActionPerformed(null));
exileZone.setBounds(sizeMod(25), 0, sizeMod(21), sizeMod(21)); 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 = new JPanel();
zonesPanel.setPreferredSize(new Dimension(sizeMod(100), sizeMod(60))); zonesPanel.setPreferredSize(new Dimension(sizeMod(100), sizeMod(60)));
zonesPanel.setSize(sizeMod(100), sizeMod(60)); zonesPanel.setSize(sizeMod(100), sizeMod(60));
zonesPanel.setLayout(null); zonesPanel.setLayout(null);
zonesPanel.setOpaque(false); 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)); 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); resized = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(image, BufferedImage.TYPE_INT_ARGB), r);
commandZone = new HoverButton(null, resized, resized, resized, r, this.guiScaleMod); commandZone = new HoverButton(null, resized, resized, resized, r, this.guiScaleMod);
commandZone.setToolTipText("Command Zone (Commanders, Emblems and Planes)"); commandZone.setToolTipText("Command Zone (Commanders, Emblems and Planes)");
@ -666,55 +690,21 @@ public class PlayerPanelExt extends javax.swing.JPanel {
commandZone.setObserver(() -> btnCommandZoneActionPerformed(null)); commandZone.setObserver(() -> btnCommandZoneActionPerformed(null));
commandZone.setBounds(sizeMod(3), 0, sizeMod(21), sizeMod(21)); commandZone.setBounds(sizeMod(3), 0, sizeMod(21), sizeMod(21));
zonesPanel.add(commandZone); zonesPanel.add(commandZone);
commandLabel.setToolTipText("Command zone"); commandLabel.setToolTipText("Command zone");
commandLabel.setBounds(sizeMod(25), 0, sizeMod(21), sizeMod(21)); commandLabel.setBounds(sizeMod(25), 0, sizeMod(21), sizeMod(21));
zonesPanel.add(commandLabel); 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)); cheat.setBounds(sizeMod(40), sizeMod(2), sizeMod(25), sizeMod(21));
zonesPanel.add(cheat); 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 // Add mana symbols
// TODO: replace "button + label" to label on rework // 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 manaLabels.put(manaCountLabelW, ManaType.WHITE);l
//*/ //*/
///* ///*
// mana W
JLabel manaCountLabelW = new JLabel(); JLabel manaCountLabelW = new JLabel();
manaCountLabelW.setHorizontalAlignment(SwingConstants.CENTER); manaCountLabelW.setHorizontalAlignment(SwingConstants.CENTER);
manaLabels.put(manaCountLabelW, ManaType.WHITE); 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); setTextForLabel(ManaType.WHITE.toString() + " mana", manaCountLabelW, btnWhiteMana, 0, false);
//*/ //*/
// mana U
JLabel manaCountLabelU = new JLabel(); JLabel manaCountLabelU = new JLabel();
manaLabels.put(manaCountLabelU, ManaType.BLUE); manaLabels.put(manaCountLabelU, ManaType.BLUE);
manaCountLabelU.setHorizontalAlignment(SwingConstants.CENTER); manaCountLabelU.setHorizontalAlignment(SwingConstants.CENTER);
@ -759,6 +752,7 @@ public class PlayerPanelExt extends javax.swing.JPanel {
manaButtons.put(manaCountLabelU, btnBlueMana); manaButtons.put(manaCountLabelU, btnBlueMana);
setTextForLabel(ManaType.BLUE.toString() + " mana", manaCountLabelU, btnBlueMana, 0, false); setTextForLabel(ManaType.BLUE.toString() + " mana", manaCountLabelU, btnBlueMana, 0, false);
// mana B
JLabel manaCountLabelB = new JLabel(); JLabel manaCountLabelB = new JLabel();
manaLabels.put(manaCountLabelB, ManaType.BLACK); manaLabels.put(manaCountLabelB, ManaType.BLACK);
manaCountLabelB.setHorizontalAlignment(SwingConstants.CENTER); manaCountLabelB.setHorizontalAlignment(SwingConstants.CENTER);
@ -770,6 +764,7 @@ public class PlayerPanelExt extends javax.swing.JPanel {
manaButtons.put(manaCountLabelB, btnBlackMana); manaButtons.put(manaCountLabelB, btnBlackMana);
setTextForLabel(ManaType.BLACK.toString() + " mana", manaCountLabelB, btnBlackMana, 0, false); setTextForLabel(ManaType.BLACK.toString() + " mana", manaCountLabelB, btnBlackMana, 0, false);
// mana R
JLabel manaCountLabelR = new JLabel(); JLabel manaCountLabelR = new JLabel();
manaLabels.put(manaCountLabelR, ManaType.RED); manaLabels.put(manaCountLabelR, ManaType.RED);
manaCountLabelR.setHorizontalAlignment(SwingConstants.CENTER); manaCountLabelR.setHorizontalAlignment(SwingConstants.CENTER);
@ -781,6 +776,7 @@ public class PlayerPanelExt extends javax.swing.JPanel {
manaButtons.put(manaCountLabelR, btnRedMana); manaButtons.put(manaCountLabelR, btnRedMana);
setTextForLabel(ManaType.RED.toString() + " mana", manaCountLabelR, btnRedMana, 0, false); setTextForLabel(ManaType.RED.toString() + " mana", manaCountLabelR, btnRedMana, 0, false);
// mana G
JLabel manaCountLabelG = new JLabel(); JLabel manaCountLabelG = new JLabel();
manaLabels.put(manaCountLabelG, ManaType.GREEN); manaLabels.put(manaCountLabelG, ManaType.GREEN);
manaCountLabelG.setHorizontalAlignment(SwingConstants.CENTER); manaCountLabelG.setHorizontalAlignment(SwingConstants.CENTER);
@ -792,6 +788,7 @@ public class PlayerPanelExt extends javax.swing.JPanel {
manaButtons.put(manaCountLabelG, btnGreenMana); manaButtons.put(manaCountLabelG, btnGreenMana);
setTextForLabel(ManaType.GREEN.toString() + " mana", manaCountLabelG, btnGreenMana, 0, false); setTextForLabel(ManaType.GREEN.toString() + " mana", manaCountLabelG, btnGreenMana, 0, false);
// mana C
JLabel manaCountLabelX = new JLabel(); JLabel manaCountLabelX = new JLabel();
manaLabels.put(manaCountLabelX, ManaType.COLORLESS); manaLabels.put(manaCountLabelX, ManaType.COLORLESS);
manaCountLabelX.setHorizontalAlignment(SwingConstants.CENTER); manaCountLabelX.setHorizontalAlignment(SwingConstants.CENTER);
@ -801,8 +798,10 @@ public class PlayerPanelExt extends javax.swing.JPanel {
btnColorlessMana.setOpaque(false); btnColorlessMana.setOpaque(false);
btnColorlessMana.setObserver(() -> btnManaActionPerformed(ManaType.COLORLESS)); btnColorlessMana.setObserver(() -> btnManaActionPerformed(ManaType.COLORLESS));
manaButtons.put(manaCountLabelX, btnColorlessMana); 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); GroupLayout gl_panelBackground = new GroupLayout(panelBackground);
gl_panelBackground.setHorizontalGroup( gl_panelBackground.setHorizontalGroup(
gl_panelBackground.createParallelGroup(Alignment.LEADING) gl_panelBackground.createParallelGroup(Alignment.LEADING)