mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 18:50:06 -08:00
...
This commit is contained in:
parent
6abd8230a7
commit
5392b92c38
12 changed files with 220 additions and 68 deletions
|
|
@ -36,6 +36,14 @@
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
<sourceDirectory>src</sourceDirectory>
|
<sourceDirectory>src</sourceDirectory>
|
||||||
|
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>resources</directory>
|
||||||
|
<filtering>false</filtering>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
|
|
||||||
BIN
Mage.Client/resources/dk_gray.jpg
Normal file
BIN
Mage.Client/resources/dk_gray.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.6 KiB |
|
|
@ -77,9 +77,9 @@ import mage.Constants.CardType;
|
||||||
import mage.client.MageFrame;
|
import mage.client.MageFrame;
|
||||||
import mage.client.game.PlayAreaPanel;
|
import mage.client.game.PlayAreaPanel;
|
||||||
import mage.client.remote.Session;
|
import mage.client.remote.Session;
|
||||||
import mage.client.util.ArrowBuilder;
|
|
||||||
import mage.client.util.Config;
|
import mage.client.util.Config;
|
||||||
import mage.client.util.ImageHelper;
|
import mage.client.util.ImageHelper;
|
||||||
|
import mage.client.util.gui.ArrowBuilder;
|
||||||
import mage.sets.Sets;
|
import mage.sets.Sets;
|
||||||
import mage.view.AbilityView;
|
import mage.view.AbilityView;
|
||||||
import mage.view.CardView;
|
import mage.view.CardView;
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,10 @@ public class Cards extends javax.swing.JPanel {
|
||||||
/** Creates new form Cards */
|
/** Creates new form Cards */
|
||||||
public Cards() {
|
public Cards() {
|
||||||
initComponents();
|
initComponents();
|
||||||
|
setOpaque(false);
|
||||||
|
jScrollPane1.setOpaque(false);
|
||||||
|
jScrollPane1.getViewport().setOpaque(false);
|
||||||
|
cardArea.setOpaque(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean loadCards(CardsView cardsView, BigCard bigCard, UUID gameId) {
|
public boolean loadCards(CardsView cardsView, BigCard bigCard, UUID gameId) {
|
||||||
|
|
|
||||||
|
|
@ -58,6 +58,8 @@ public class ChatPanel extends javax.swing.JPanel {
|
||||||
/** Creates new form ChatPanel */
|
/** Creates new form ChatPanel */
|
||||||
public ChatPanel() {
|
public ChatPanel() {
|
||||||
initComponents();
|
initComponents();
|
||||||
|
jScrollPane1.setOpaque(false);
|
||||||
|
jScrollPane1.getViewport().setOpaque(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void connect(UUID chatId) {
|
public void connect(UUID chatId) {
|
||||||
|
|
|
||||||
|
|
@ -39,14 +39,20 @@ import java.awt.Dimension;
|
||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
import java.awt.event.ComponentEvent;
|
import java.awt.event.ComponentEvent;
|
||||||
import java.awt.event.ComponentListener;
|
import java.awt.event.ComponentListener;
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.io.File;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
|
import javax.imageio.ImageIO;
|
||||||
|
|
||||||
import mage.client.cards.BigCard;
|
import mage.client.cards.BigCard;
|
||||||
import mage.client.cards.Permanent;
|
import mage.client.cards.Permanent;
|
||||||
import mage.client.util.Config;
|
import mage.client.util.Config;
|
||||||
|
import mage.client.util.gui.ImagePanel;
|
||||||
import mage.view.PermanentView;
|
import mage.view.PermanentView;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,9 @@ import java.awt.BorderLayout;
|
||||||
import java.awt.GridBagConstraints;
|
import java.awt.GridBagConstraints;
|
||||||
import java.awt.event.ComponentAdapter;
|
import java.awt.event.ComponentAdapter;
|
||||||
import java.awt.event.ComponentEvent;
|
import java.awt.event.ComponentEvent;
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.InputStream;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
@ -54,8 +57,11 @@ import mage.client.dialog.PickChoiceDialog;
|
||||||
import mage.client.dialog.ShowCardsDialog;
|
import mage.client.dialog.ShowCardsDialog;
|
||||||
import mage.client.game.FeedbackPanel.FeedbackMode;
|
import mage.client.game.FeedbackPanel.FeedbackMode;
|
||||||
import mage.client.remote.Session;
|
import mage.client.remote.Session;
|
||||||
import mage.client.util.ArrowBuilder;
|
|
||||||
import mage.client.util.Config;
|
import mage.client.util.Config;
|
||||||
|
import mage.client.util.Constants;
|
||||||
|
import mage.client.util.ImageHelper;
|
||||||
|
import mage.client.util.gui.ArrowBuilder;
|
||||||
|
import mage.client.util.gui.ImagePanel;
|
||||||
import mage.util.Logging;
|
import mage.util.Logging;
|
||||||
import mage.view.AbilityPickerView;
|
import mage.view.AbilityPickerView;
|
||||||
import mage.view.CardsView;
|
import mage.view.CardsView;
|
||||||
|
|
@ -72,7 +78,6 @@ public class GamePanel extends javax.swing.JPanel {
|
||||||
private final static Logger logger = Logging.getLogger(GamePanel.class.getName());
|
private final static Logger logger = Logging.getLogger(GamePanel.class.getName());
|
||||||
|
|
||||||
private Map<UUID, PlayAreaPanel> players = new HashMap<UUID, PlayAreaPanel>();
|
private Map<UUID, PlayAreaPanel> players = new HashMap<UUID, PlayAreaPanel>();
|
||||||
//private Map<UUID, PlayAreaPanel> players = new HashMap<UUID, PlayAreaPanel>();
|
|
||||||
private Map<UUID, ExileZoneDialog> exiles = new HashMap<UUID, ExileZoneDialog>();
|
private Map<UUID, ExileZoneDialog> exiles = new HashMap<UUID, ExileZoneDialog>();
|
||||||
private UUID gameId;
|
private UUID gameId;
|
||||||
private UUID playerId;
|
private UUID playerId;
|
||||||
|
|
@ -82,14 +87,27 @@ public class GamePanel extends javax.swing.JPanel {
|
||||||
public GamePanel() {
|
public GamePanel() {
|
||||||
initComponents();
|
initComponents();
|
||||||
|
|
||||||
|
//FIXME: remove from here
|
||||||
|
try {
|
||||||
|
BufferedImage background = ImageHelper.loadImage("/dk_gray.jpg");
|
||||||
|
ImagePanel bgPanel = new ImagePanel(background, ImagePanel.TILED);
|
||||||
|
|
||||||
// Override layout (I can't edit generated code)
|
// Override layout (I can't edit generated code)
|
||||||
this.setLayout(new BorderLayout());
|
this.setLayout(new BorderLayout());
|
||||||
final JLayeredPane j = new JLayeredPane();
|
final JLayeredPane j = new JLayeredPane();
|
||||||
j.add(ArrowBuilder.getArrowsPanel(), JLayeredPane.MODAL_LAYER);
|
j.add(ArrowBuilder.getArrowsPanel(), JLayeredPane.MODAL_LAYER);
|
||||||
j.setSize(1024,768);
|
j.setSize(1024,768);
|
||||||
//j.setBorder(BorderFactory.createLineBorder(Color.green));
|
//j.setBorder(BorderFactory.createLineBorder(Color.green));
|
||||||
|
//this.add(j);
|
||||||
j.add(jSplitPane1, JLayeredPane.DEFAULT_LAYER);
|
j.add(jSplitPane1, JLayeredPane.DEFAULT_LAYER);
|
||||||
this.add(j);
|
|
||||||
|
jSplitPane1.setOpaque(false);
|
||||||
|
pnlBattlefield.setOpaque(false);
|
||||||
|
jPanel3.setOpaque(false);
|
||||||
|
hand.setOpaque(false);
|
||||||
|
chatPanel.setOpaque(false);
|
||||||
|
bgPanel.add(j);
|
||||||
|
this.add(bgPanel);
|
||||||
|
|
||||||
// Enlarge jlayeredpane on resize
|
// Enlarge jlayeredpane on resize
|
||||||
addComponentListener(new ComponentAdapter(){
|
addComponentListener(new ComponentAdapter(){
|
||||||
|
|
@ -104,6 +122,10 @@ public class GamePanel extends javax.swing.JPanel {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void cleanUp() {
|
public void cleanUp() {
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,10 @@ public class PlayAreaPanel extends javax.swing.JPanel {
|
||||||
/** Creates new form PlayAreaPanel */
|
/** Creates new form PlayAreaPanel */
|
||||||
public PlayAreaPanel() {
|
public PlayAreaPanel() {
|
||||||
initComponents();
|
initComponents();
|
||||||
|
setOpaque(false);
|
||||||
|
jScrollPane1.setOpaque(false);
|
||||||
|
jScrollPane1.getViewport().setOpaque(false);
|
||||||
|
battlefieldPanel.setOpaque(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public PlayAreaPanel(PlayerView player, BigCard bigCard, UUID gameId) {
|
public PlayAreaPanel(PlayerView player, BigCard bigCard, UUID gameId) {
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,8 @@
|
||||||
|
|
||||||
package mage.client.util;
|
package mage.client.util;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author BetaSteward_at_googlemail.com
|
* @author BetaSteward_at_googlemail.com
|
||||||
|
|
@ -66,5 +68,4 @@ public final class Constants {
|
||||||
public static final int DAMAGE_MAX_LEFT = 180;
|
public static final int DAMAGE_MAX_LEFT = 180;
|
||||||
|
|
||||||
public static final double SCALE_FACTOR = 0.5;
|
public static final double SCALE_FACTOR = 0.5;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package mage.client.util;
|
package mage.client.util.gui;
|
||||||
|
|
||||||
import java.awt.AlphaComposite;
|
import java.awt.AlphaComposite;
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package mage.client.util;
|
package mage.client.util.gui;
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
105
Mage.Client/src/mage/client/util/gui/ImagePanel.java
Normal file
105
Mage.Client/src/mage/client/util/gui/ImagePanel.java
Normal file
|
|
@ -0,0 +1,105 @@
|
||||||
|
package mage.client.util.gui;
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.Dimension;
|
||||||
|
import java.awt.Graphics;
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
|
||||||
|
import javax.swing.JComponent;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JScrollPane;
|
||||||
|
import javax.swing.JViewport;
|
||||||
|
|
||||||
|
@SuppressWarnings("serial")
|
||||||
|
public class ImagePanel extends JPanel {
|
||||||
|
public static final int TILED = 0;
|
||||||
|
public static final int SCALED = 1;
|
||||||
|
public static final int ACTUAL = 2;
|
||||||
|
|
||||||
|
private BufferedImage image;
|
||||||
|
private int style;
|
||||||
|
private float alignmentX = 0.5f;
|
||||||
|
private float alignmentY = 0.5f;
|
||||||
|
|
||||||
|
public ImagePanel(BufferedImage image) {
|
||||||
|
this(image, TILED);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ImagePanel(BufferedImage image, int style) {
|
||||||
|
this.image = image;
|
||||||
|
this.style = style;
|
||||||
|
setLayout(new BorderLayout());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setImageAlignmentX(float alignmentX) {
|
||||||
|
this.alignmentX = alignmentX > 1.0f ? 1.0f : alignmentX < 0.0f ? 0.0f : alignmentX;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setImageAlignmentY(float alignmentY) {
|
||||||
|
this.alignmentY = alignmentY > 1.0f ? 1.0f : alignmentY < 0.0f ? 0.0f : alignmentY;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void add(JComponent component) {
|
||||||
|
add(component, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void add(JComponent component, Object constraints) {
|
||||||
|
component.setOpaque(false);
|
||||||
|
|
||||||
|
if (component instanceof JScrollPane) {
|
||||||
|
JScrollPane scrollPane = (JScrollPane) component;
|
||||||
|
JViewport viewport = scrollPane.getViewport();
|
||||||
|
viewport.setOpaque(false);
|
||||||
|
Component c = viewport.getView();
|
||||||
|
|
||||||
|
if (c instanceof JComponent) {
|
||||||
|
((JComponent) c).setOpaque(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
super.add(component, constraints);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void paintComponent(Graphics g) {
|
||||||
|
super.paintComponent(g);
|
||||||
|
|
||||||
|
if (image == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
switch (style) {
|
||||||
|
case TILED:
|
||||||
|
drawTiled(g);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SCALED:
|
||||||
|
Dimension d = getSize();
|
||||||
|
g.drawImage(image, 0, 0, d.width, d.height, null);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ACTUAL:
|
||||||
|
drawActual(g);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void drawTiled(Graphics g) {
|
||||||
|
Dimension d = getSize();
|
||||||
|
int width = image.getWidth(null);
|
||||||
|
int height = image.getHeight(null);
|
||||||
|
|
||||||
|
for (int x = 0; x < d.width; x += width) {
|
||||||
|
for (int y = 0; y < d.height; y += height) {
|
||||||
|
g.drawImage(image, x, y, null, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void drawActual(Graphics g) {
|
||||||
|
Dimension d = getSize();
|
||||||
|
float x = (d.width - image.getWidth()) * alignmentX;
|
||||||
|
float y = (d.height - image.getHeight()) * alignmentY;
|
||||||
|
g.drawImage(image, (int) x, (int) y, this);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue