forked from External/mage
* GUI: new reworked GUI and card render engine, card icons and dozens of other fixes (see full list in related PR);
This commit is contained in:
parent
df98cc3e62
commit
a1da5ef437
304 changed files with 7266 additions and 5093 deletions
|
|
@ -1,10 +1,3 @@
|
|||
|
||||
|
||||
/*
|
||||
* DraftPanel.java
|
||||
*
|
||||
* Created on Jan 7, 2011, 2:15:48 PM
|
||||
*/
|
||||
package mage.client.draft;
|
||||
|
||||
import mage.cards.repository.CardInfo;
|
||||
|
|
@ -21,10 +14,12 @@
|
|||
import mage.client.util.gui.BufferedImageBuilder;
|
||||
import mage.constants.PlayerAction;
|
||||
import mage.view.*;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import javax.swing.Timer;
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.dnd.DragSourceEvent;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.KeyEvent;
|
||||
|
|
@ -35,10 +30,14 @@
|
|||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
* Game GUI: draft panel for drafting game mode only
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com, JayDi85
|
||||
*/
|
||||
public class DraftPanel extends javax.swing.JPanel {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(DraftPanel.class);
|
||||
|
||||
private UUID draftId;
|
||||
private Timer countdown;
|
||||
private int timeout;
|
||||
|
|
@ -73,6 +72,9 @@
|
|||
|
||||
private static final CardsView EMPTY_VIEW = new CardsView();
|
||||
|
||||
private Listener<Event> selectedCardsListener = null;
|
||||
private Listener<Event> pickingCardsListener = null;
|
||||
|
||||
/**
|
||||
* Creates new form DraftPanel
|
||||
*/
|
||||
|
|
@ -247,47 +249,52 @@
|
|||
// upper area that shows the picks
|
||||
loadCardsToPickedCardsArea(draftPickView.getPicks());
|
||||
|
||||
this.draftPicks.clearCardEventListeners();
|
||||
this.draftPicks.addCardEventListener((Listener<Event>) event -> {
|
||||
if (event.getEventType() == ClientEventType.SHOW_POP_UP_MENU) {
|
||||
if (event.getSource() != null) {
|
||||
// Popup Menu Card
|
||||
cardIdPopupMenu = ((SimpleCardView) event.getSource()).getId();
|
||||
popupMenuCardPanel.show(event.getComponent(), event.getxPos(), event.getyPos());
|
||||
} else {
|
||||
// Popup Menu area
|
||||
popupMenuPickedArea.show(event.getComponent(), event.getxPos(), event.getyPos());
|
||||
}
|
||||
// ENABLE clicks on selected/picked cards
|
||||
if (this.selectedCardsListener == null) {
|
||||
this.selectedCardsListener = event -> {
|
||||
if (event.getEventType() == ClientEventType.CARD_POPUP_MENU) {
|
||||
if (event.getSource() != null) {
|
||||
// Popup Menu Card
|
||||
cardIdPopupMenu = ((SimpleCardView) event.getSource()).getId();
|
||||
popupMenuCardPanel.show(event.getComponent(), event.getxPos(), event.getyPos());
|
||||
} else {
|
||||
// Popup Menu area
|
||||
popupMenuPickedArea.show(event.getComponent(), event.getxPos(), event.getyPos());
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
this.draftPicks.addCardEventListener(this.selectedCardsListener);
|
||||
}
|
||||
|
||||
// lower area that shows the booster
|
||||
draftBooster.loadBooster(CardsViewUtil.convertSimple(draftPickView.getBooster()), bigCard);
|
||||
this.draftBooster.clearCardEventListeners();
|
||||
this.draftBooster.addCardEventListener(
|
||||
(Listener<Event>) event -> {
|
||||
if (event.getEventType() == ClientEventType.PICK_A_CARD) {
|
||||
SimpleCardView source = (SimpleCardView) event.getSource();
|
||||
DraftPickView view = SessionHandler.sendCardPick(draftId, source.getId(), cardsHidden);
|
||||
if (view != null) {
|
||||
loadCardsToPickedCardsArea(view.getPicks());
|
||||
draftBooster.loadBooster(EMPTY_VIEW, bigCard);
|
||||
Plugins.instance.getActionCallback().hideOpenComponents();
|
||||
setMessage("Waiting for other players");
|
||||
}
|
||||
}
|
||||
if (event.getEventType() == ClientEventType.MARK_A_CARD) {
|
||||
SimpleCardView source = (SimpleCardView) event.getSource();
|
||||
SessionHandler.sendCardMark(draftId, source.getId());
|
||||
this.draftBooster.loadBooster(CardsViewUtil.convertSimple(draftPickView.getBooster()), bigCard);
|
||||
if (this.pickingCardsListener == null) {
|
||||
this.pickingCardsListener = event -> {
|
||||
if (event.getEventType() == ClientEventType.DRAFT_PICK_CARD) {
|
||||
logger.info("draft panel: catch pick card");
|
||||
SimpleCardView source = (SimpleCardView) event.getSource();
|
||||
DraftPickView view = SessionHandler.sendCardPick(draftId, source.getId(), cardsHidden);
|
||||
if (view != null) {
|
||||
loadCardsToPickedCardsArea(view.getPicks());
|
||||
draftBooster.loadBooster(EMPTY_VIEW, bigCard);
|
||||
Plugins.instance.getActionCallback().hideOpenComponents();
|
||||
setMessage("Waiting for other players");
|
||||
}
|
||||
} else if (event.getEventType() == ClientEventType.DRAFT_MARK_CARD) {
|
||||
logger.info("draft panel: catch mark card");
|
||||
SimpleCardView source = (SimpleCardView) event.getSource();
|
||||
SessionHandler.sendCardMark(draftId, source.getId());
|
||||
}
|
||||
);
|
||||
};
|
||||
this.draftBooster.addCardEventListener(this.pickingCardsListener);
|
||||
}
|
||||
|
||||
setMessage("Pick a card");
|
||||
if (!AppUtil.isAppActive()) {
|
||||
MageTray.instance.displayMessage("Pick the next card.");
|
||||
MageTray.instance.blink();
|
||||
}
|
||||
|
||||
countdown.stop();
|
||||
this.timeout = draftPickView.getTimeout();
|
||||
setTimeout(timeout);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue