mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 20:58:03 +00:00
Fix right-click support for cards
This commit is contained in:
@@ -36,15 +36,6 @@ import forge.gui.match.controllers.CMessage;
|
||||
public class CCommand implements ICDoc {
|
||||
private final Player player;
|
||||
private final VCommand view;
|
||||
private boolean initializedAlready = false;
|
||||
|
||||
private MouseMotionListener mmlCardOver = new MouseMotionAdapter() { @Override
|
||||
public void mouseMoved(final MouseEvent e) {
|
||||
cardoverAction(e); } };
|
||||
|
||||
private final MouseListener madCardClick = new MouseAdapter() { @Override
|
||||
public void mousePressed(final MouseEvent e) {
|
||||
cardclickAction(e); } };
|
||||
|
||||
/**
|
||||
* Controls Swing components of a player's command instance.
|
||||
@@ -59,15 +50,6 @@ public class CCommand implements ICDoc {
|
||||
|
||||
@Override
|
||||
public void initialize() {
|
||||
if (initializedAlready) { return; }
|
||||
initializedAlready = true;
|
||||
|
||||
// Listeners
|
||||
// Battlefield card clicks
|
||||
this.view.getTabletop().addMouseListener(madCardClick);
|
||||
|
||||
// Battlefield card mouseover
|
||||
this.view.getTabletop().addMouseMotionListener(mmlCardOver);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -84,28 +66,6 @@ public class CCommand implements ICDoc {
|
||||
return this.view;
|
||||
}
|
||||
|
||||
/** */
|
||||
private void cardoverAction(MouseEvent e) {
|
||||
boolean isShiftDown = (e.getModifiers() & Event.SHIFT_MASK) != 0;
|
||||
final Card c = CCommand.this.view.getTabletop().getHoveredCard(e);
|
||||
if (c != null) {
|
||||
CMatchUI.SINGLETON_INSTANCE.setCard(c, isShiftDown);
|
||||
}
|
||||
}
|
||||
|
||||
/** */
|
||||
private void cardclickAction(final MouseEvent e) {
|
||||
// original version:
|
||||
// final Card c = t.getDetailController().getCurrentCard();
|
||||
// Roujin's bug fix version dated 2-12-2012
|
||||
final Card c = CCommand.this.view.getTabletop().getHoveredCard(e);
|
||||
|
||||
if (c != null && c.isInZone(ZoneType.Command)) {
|
||||
//TODO: Cast commander/activate avatar/roll planar dice here.
|
||||
CMessage.SINGLETON_INSTANCE.getInputControl().selectCard(c, e.isMetaDown());
|
||||
}
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.gui.framework.ICDoc#getCommandOnSelect()
|
||||
*/
|
||||
|
||||
@@ -488,7 +488,7 @@ public abstract class CardPanelContainer extends JPanel {
|
||||
* @param evt
|
||||
* a {@link java.awt.event.MouseEvent} object.
|
||||
*/
|
||||
public final void mouseRightClicked(final CardPanel panel, final MouseEvent evt) {
|
||||
public void mouseRightClicked(final CardPanel panel, final MouseEvent evt) {
|
||||
for (final CardPanelMouseListener listener : this.listeners) {
|
||||
listener.mouseRightClicked(panel, evt);
|
||||
}
|
||||
|
||||
@@ -63,7 +63,14 @@ public class HandArea extends CardArea {
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public final void mouseLeftClicked(final CardPanel panel, final MouseEvent evt) {
|
||||
CMessage.SINGLETON_INSTANCE.getInputControl().selectCard(panel.getCard(), evt.isMetaDown());
|
||||
CMessage.SINGLETON_INSTANCE.getInputControl().selectCard(panel.getCard(), false);
|
||||
super.mouseLeftClicked(panel, evt);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public final void mouseRightClicked(final CardPanel panel, final MouseEvent evt) {
|
||||
CMessage.SINGLETON_INSTANCE.getInputControl().selectCard(panel.getCard(), true);
|
||||
super.mouseRightClicked(panel, evt);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -501,12 +501,19 @@ public class PlayArea extends CardPanelContainer implements CardPanelMouseListen
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public final void mouseLeftClicked(final CardPanel panel, final MouseEvent evt) {
|
||||
CMessage.SINGLETON_INSTANCE.getInputControl().selectCard(panel.getCard(), evt.isMetaDown());
|
||||
CMessage.SINGLETON_INSTANCE.getInputControl().selectCard(panel.getCard(), false);
|
||||
if ((panel.getTappedAngle() != 0) && (panel.getTappedAngle() != CardPanel.TAPPED_ANGLE)) {
|
||||
return;
|
||||
}
|
||||
super.mouseLeftClicked(panel, evt);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public final void mouseRightClicked(final CardPanel panel, final MouseEvent evt) {
|
||||
CMessage.SINGLETON_INSTANCE.getInputControl().selectCard(panel.getCard(), true);
|
||||
super.mouseRightClicked(panel, evt);
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
||||
Reference in New Issue
Block a user