diff --git a/.gitattributes b/.gitattributes index 33b15715bf6..49cee07227d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -10061,6 +10061,8 @@ res/pics/icons/Mage01.jpg -text res/pics/icons/Mage02.jpg -text res/pics/icons/MapIcon.png -text svneol=unset#image/png res/pics/icons/MapIconLarge.png -text svneol=unset#image/png +res/pics/icons/PetIcon.png -text +res/pics/icons/PlantIcon.png -text res/pics/icons/Unknown.jpg -text res/pics/icons/ZeppelinIcon.png -text svneol=unset#image/png res/pics/icons/notesIcon.png -text svneol=unset#image/png @@ -10748,8 +10750,6 @@ src/main/java/forge/card/trigger/TriggerUnequip.java svneol=native#text/plain src/main/java/forge/card/trigger/TriggerUntaps.java svneol=native#text/plain src/main/java/forge/card/trigger/package-info.java svneol=native#text/plain src/main/java/forge/control/ControlAllUI.java -text -src/main/java/forge/control/ControlEditorUI.java -text -src/main/java/forge/control/ControlHomeUI.java -text src/main/java/forge/control/ControlMatchUI.java -text src/main/java/forge/control/ControlWinLose.java -text src/main/java/forge/control/home/ControlConstructed.java -text diff --git a/res/pics/icons/PetIcon.png b/res/pics/icons/PetIcon.png new file mode 100644 index 00000000000..21b9dc15597 Binary files /dev/null and b/res/pics/icons/PetIcon.png differ diff --git a/res/pics/icons/PlantIcon.png b/res/pics/icons/PlantIcon.png new file mode 100644 index 00000000000..e2e243848fd Binary files /dev/null and b/res/pics/icons/PlantIcon.png differ diff --git a/src/main/java/forge/control/ControlAllUI.java b/src/main/java/forge/control/ControlAllUI.java index d115101222b..ad7b233cd36 100644 --- a/src/main/java/forge/control/ControlAllUI.java +++ b/src/main/java/forge/control/ControlAllUI.java @@ -26,6 +26,7 @@ import java.awt.event.WindowEvent; import javax.swing.JLayeredPane; import forge.AllZone; +import forge.quest.gui.bazaar.QuestBazaarPanel; import forge.view.GuiTopLevel; import forge.view.editor.EditorTopLevel; import forge.view.home.HomeTopLevel; @@ -45,7 +46,17 @@ public class ControlAllUI { private HomeTopLevel home = null; private ViewTopLevel match = null; private EditorTopLevel editor = null; - private WindowAdapter actConcede; + private WindowAdapter waConcede; + private QuestBazaarPanel bazaar; + + /** */ + public static final int HOME_SCREEN = 0; + /** */ + public static final int MATCH_SCREEN = 1; + /** */ + public static final int DEFAULT_EDITOR = 2; + /** */ + public static final int QUEST_BAZAAR = 3; /** *
@@ -62,7 +73,7 @@ public class ControlAllUI {
this.display = (JLayeredPane) this.view.getContentPane();
- this.actConcede = new WindowAdapter() {
+ this.waConcede = new WindowAdapter() {
@Override
public void windowClosing(final WindowEvent evt) {
ViewTopLevel t = ((GuiTopLevel) AllZone.getDisplay()).getController().getMatchController().getView();
@@ -86,6 +97,7 @@ public class ControlAllUI {
this.editor = null;
this.display.removeAll();
+ this.view.removeWindowListener(waConcede);
this.view.addOverlay();
view.addComponentListener(new ComponentAdapter() {
@@ -101,14 +113,13 @@ public class ControlAllUI {
this.home = new HomeTopLevel();
this.display.add(this.home, JLayeredPane.DEFAULT_LAYER);
sizeChildren();
- view.removeWindowListener(actConcede);
break;
case 1: // Match screen
this.match = new ViewTopLevel();
this.display.add(this.match, JLayeredPane.DEFAULT_LAYER);
sizeChildren();
- view.addWindowListener(actConcede);
+ view.addWindowListener(waConcede);
break;
case 2: // Deck editor screen
@@ -116,6 +127,12 @@ public class ControlAllUI {
this.display.add(this.editor);
break;
+ case 3: // Quest Bazaar screen
+ this.bazaar = new QuestBazaarPanel(null);
+ this.display.add(bazaar, JLayeredPane.DEFAULT_LAYER);
+ sizeChildren();
+ break;
+
default:
break;
}
@@ -139,6 +156,20 @@ public class ControlAllUI {
return this.match.getController();
}
+ /** @return HomeTopLevel */
+ public HomeTopLevel getHomeView() {
+ return this.home;
+ }
+
+ /**
+ * Gets the match view.
+ *
+ * @return ViewTopLevel
+ */
+ public QuestBazaarPanel getBazaarView() {
+ return this.bazaar;
+ }
+
/** Sizes children of JLayeredPane to fully fit their layers. */
private void sizeChildren() {
Component[] children;
diff --git a/src/main/java/forge/control/ControlEditorUI.java b/src/main/java/forge/control/ControlEditorUI.java
deleted file mode 100644
index d7a8c556de2..00000000000
--- a/src/main/java/forge/control/ControlEditorUI.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Forge: Play Magic: the Gathering.
- * Copyright (C) 2011 Forge Team
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * ControlEditorUI - *
- * Top-level controller for deck editor. - * - */ -@SuppressWarnings("serial") -public class ControlEditorUI extends JPanel { - /** - *- * ControlEditorUI - *
- * Top-level controller for deck editor. - * - */ - public ControlEditorUI() { - } -} diff --git a/src/main/java/forge/control/ControlHomeUI.java b/src/main/java/forge/control/ControlHomeUI.java deleted file mode 100644 index ae0de420e80..00000000000 --- a/src/main/java/forge/control/ControlHomeUI.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Forge: Play Magic: the Gathering. - * Copyright (C) 2011 Forge Team - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see+ * setupDuel. + *
+ * + * @param humanDeck + * a {@link forge.deck.Deck} object. + */ + final void setupDuel(final Deck humanDeck) { + final Deck computer = event.getEventDeck(); + Constant.Runtime.COMPUTER_DECK[0] = computer; + AllZone.getGameAction().newGame( Constant.Runtime.HUMAN_DECK[0], Constant.Runtime.COMPUTER_DECK[0], - QuestUtil.getHumanStartingCards(questData), - QuestUtil.getComputerStartingCards(questData), - questData.getLife(), 20, null); + QuestUtil.getHumanStartingCards(view.getQuestData()), + QuestUtil.getComputerStartingCards(view.getQuestData()), + view.getQuestData().getLife(), 20, null); + } + + /** + *+ * setupChallenge. + *
+ * + * @param humanDeck + * a {@link forge.deck.Deck} object. + */ + private void setupChallenge(final Deck humanDeck) { + int extraLife = 0; + + if (view.getQuestData().getInventory().getItemLevel("Gear") == 2) { + extraLife = 3; + } + + AllZone.getGameAction().newGame( + Constant.Runtime.HUMAN_DECK[0], Constant.Runtime.COMPUTER_DECK[0], + QuestUtil.getHumanStartingCards(view.getQuestData(), event), + QuestUtil.getHumanStartingCards(view.getQuestData(), event), + view.getQuestData().getLife() + extraLife, ((QuestChallenge) event).getAILife(), event); + } } diff --git a/src/main/java/forge/quest/gui/bazaar/QuestBazaarPanel.java b/src/main/java/forge/quest/gui/bazaar/QuestBazaarPanel.java index 80f1a3c8ef0..a356e39f7d1 100644 --- a/src/main/java/forge/quest/gui/bazaar/QuestBazaarPanel.java +++ b/src/main/java/forge/quest/gui/bazaar/QuestBazaarPanel.java @@ -31,9 +31,13 @@ import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.JToggleButton; +import forge.AllZone; +import forge.Constant; +import forge.control.ControlAllUI; import forge.quest.data.bazaar.QuestStallManager; import forge.quest.gui.QuestAbstractPanel; import forge.quest.gui.QuestFrame; +import forge.view.GuiTopLevel; /** *
@@ -142,7 +146,14 @@ public class QuestBazaarPanel extends QuestAbstractPanel {
quitButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(final ActionEvent e) {
- QuestBazaarPanel.this.getMainFrame().showMainPane();
+ if (Constant.Runtime.OLDGUI[0]) {
+ QuestBazaarPanel.this.getMainFrame().showMainPane();
+ }
+ else {
+ ControlAllUI g = ((GuiTopLevel) AllZone.getDisplay()).getController();
+ g.changeState(ControlAllUI.HOME_SCREEN);
+ g.getHomeView().showQuestMenu();
+ }
}
});
diff --git a/src/main/java/forge/view/home/HomeTopLevel.java b/src/main/java/forge/view/home/HomeTopLevel.java
index d40d53f8e13..8361f428fb7 100644
--- a/src/main/java/forge/view/home/HomeTopLevel.java
+++ b/src/main/java/forge/view/home/HomeTopLevel.java
@@ -87,39 +87,39 @@ public class HomeTopLevel extends FPanel {
pnlContent.setBackground(skin.getColor("zebra"));
pnlContent.setLayout(new MigLayout("insets 0, gap 0"));
- btnDraft = new FButton();
- btnDraft.setAction(new AbstractAction() {
- public void actionPerformed(ActionEvent arg0) { draft(); }
- });
- btnDraft.setText("Draft (Hard)");
-
btnConstructed = new FButton();
btnConstructed.setAction(new AbstractAction() {
- public void actionPerformed(ActionEvent arg0) { constructed(); }
+ public void actionPerformed(ActionEvent arg0) { showConstructedMenu(); }
});
btnConstructed.setText("Constructed (Easy)");
btnSealed = new FButton();
btnSealed.setAction(new AbstractAction() {
- public void actionPerformed(ActionEvent arg0) { sealed(); }
+ public void actionPerformed(ActionEvent arg0) { showSealedMenu(); }
});
btnSealed.setText("Sealed (Medium)");
+ btnDraft = new FButton();
+ btnDraft.setAction(new AbstractAction() {
+ public void actionPerformed(ActionEvent arg0) { showDraftMenu(); }
+ });
+ btnDraft.setText("Draft (Hard)");
+
btnQuest = new FButton();
btnQuest.setAction(new AbstractAction() {
- public void actionPerformed(ActionEvent arg0) { quest(); }
+ public void actionPerformed(ActionEvent arg0) { showQuestMenu(); }
});
btnQuest.setText("Quest");
btnSettings = new FButton();
btnSettings.setAction(new AbstractAction() {
- public void actionPerformed(ActionEvent arg0) { settings(); }
+ public void actionPerformed(ActionEvent arg0) { showSettingsMenu(); }
});
btnSettings.setText("Settings");
btnUtilities = new FButton();
btnUtilities.setAction(new AbstractAction() {
- public void actionPerformed(ActionEvent arg0) { utilities(); }
+ public void actionPerformed(ActionEvent arg0) { showUtilitiesMenu(); }
});
btnUtilities.setText("Utilities");
@@ -148,11 +148,12 @@ public class HomeTopLevel extends FPanel {
pnlMenu.add(btnEditor, constraints);
pnlMenu.add(btnExit, constraints);
- // Open "constructed" screen on first run.
- constructed();
+ // Open "constructed" menu on first run.
+ showConstructedMenu();
}
- private void constructed() {
+ /** Opens menu for constructed mode. */
+ public void showConstructedMenu() {
clearToggles();
btnConstructed.setToggled(true);
pnlContent.removeAll();
@@ -161,7 +162,8 @@ public class HomeTopLevel extends FPanel {
pnlContent.repaint();
}
- private void draft() {
+ /** Opens menu for draft mode. */
+ public void showDraftMenu() {
clearToggles();
btnDraft.setToggled(true);
pnlContent.removeAll();
@@ -170,7 +172,8 @@ public class HomeTopLevel extends FPanel {
pnlContent.repaint();
}
- private void sealed() {
+ /** Opens menu for sealed mode. */
+ public void showSealedMenu() {
clearToggles();
btnSealed.setToggled(true);
pnlContent.removeAll();
@@ -179,7 +182,8 @@ public class HomeTopLevel extends FPanel {
pnlContent.repaint();
}
- private void quest() {
+ /** Opens menu for quest mode. */
+ public void showQuestMenu() {
clearToggles();
btnQuest.setToggled(true);
pnlContent.removeAll();
@@ -188,7 +192,8 @@ public class HomeTopLevel extends FPanel {
pnlContent.repaint();
}
- private void settings() {
+ /** Opens menu for settings. */
+ public void showSettingsMenu() {
clearToggles();
btnSettings.setToggled(true);
pnlContent.removeAll();
@@ -197,7 +202,8 @@ public class HomeTopLevel extends FPanel {
pnlContent.repaint();
}
- private void utilities() {
+ /** Opens menu for utilities. */
+ public void showUtilitiesMenu() {
clearToggles();
btnUtilities.setToggled(true);
pnlContent.removeAll();
@@ -242,6 +248,6 @@ public class HomeTopLevel extends FPanel {
/** */
public void resetQuest() {
quest = new ViewQuest(this);
- quest();
+ showQuestMenu();
}
}
diff --git a/src/main/java/forge/view/home/ViewQuest.java b/src/main/java/forge/view/home/ViewQuest.java
index bc22c447db5..b65e0fe6511 100644
--- a/src/main/java/forge/view/home/ViewQuest.java
+++ b/src/main/java/forge/view/home/ViewQuest.java
@@ -1,22 +1,24 @@
package forge.view.home;
-import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.util.List;
+import java.util.Set;
import javax.swing.AbstractAction;
import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
import javax.swing.SwingConstants;
import javax.swing.border.LineBorder;
import javax.swing.border.MatteBorder;
@@ -25,12 +27,12 @@ import net.miginfocom.swing.MigLayout;
import forge.AllZone;
import forge.control.home.ControlQuest;
import forge.gui.GuiUtils;
-import forge.gui.MultiLineLabel;
-import forge.gui.MultiLineLabelUI;
import forge.properties.ForgeProps;
import forge.properties.NewConstants;
import forge.quest.data.QuestData;
import forge.quest.data.QuestDataIO;
+import forge.quest.data.item.QuestItemZeppelin;
+import forge.quest.data.pet.QuestPetAbstract;
import forge.quest.gui.main.QuestChallenge;
import forge.quest.gui.main.QuestDuel;
import forge.quest.gui.main.QuestEvent;
@@ -52,7 +54,9 @@ public class ViewQuest extends JScrollPane {
private JList lstDeckChooser;
private ControlQuest control;
private JRadioButton radEasy, radMedium, radHard, radExpert, radFantasy, radClassic;
- private JCheckBox cbStandardStart;
+ private JCheckBox cbStandardStart, cbPlant, cbZep;
+ private JComboBox cbxPet;
+ private JLabel lblPlant, lblPet, lblZep;
/**
* Populates Swing components of Quest mode in home screen.
@@ -62,24 +66,33 @@ public class ViewQuest extends JScrollPane {
public ViewQuest(HomeTopLevel v0) {
// Basic init stuff
super(VERTICAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED);
- AllZone.setQuestData(QuestDataIO.loadData());
this.setOpaque(false);
this.setBorder(null);
parentView = v0;
skin = AllZone.getSkin();
+ AllZone.setQuestData(QuestDataIO.loadData());
questData = AllZone.getQuestData();
// Panel is dropped into scroll pane for resize safety.
viewport = new JPanel();
viewport.setOpaque(false);
- viewport.setLayout(new MigLayout("insets 0, gap 0, wrap"));
+ viewport.setLayout(new MigLayout("insets 0, gap 0, wrap 2"));
this.getViewport().setOpaque(false);
- JLabel lblContinue = new JLabel(questData.getRank());
+ JLabel lblContinue = new JLabel(" " + questData.getRank());
+ lblContinue.setOpaque(true);
lblContinue.setBorder(new MatteBorder(0, 0, 1, 0, skin.getColor("borders")));
lblContinue.setForeground(skin.getColor("text"));
+ lblContinue.setBackground(skin.getColor("theme").darker());
lblContinue.setFont(skin.getFont1().deriveFont(Font.BOLD, 20));
- viewport.add(lblContinue, "w 90%!, gap 5% 0 2% 0");
+ viewport.add(lblContinue, "w 90%!, h 50px!, gap 5% 0 2% 0, span 2");
+
+ JLabel lblStats = new JLabel("Wins: " + questData.getWin()
+ + " / Losses: " + questData.getLost());
+ lblStats.setForeground(skin.getColor("text"));
+ lblStats.setFont(skin.getFont1().deriveFont(Font.BOLD, 17));
+ lblStats.setHorizontalAlignment(SwingConstants.CENTER);
+ viewport.add(lblStats, "h 35px!, ax center, span 2");
// Quest events
populateQuestEvents();
@@ -88,19 +101,7 @@ public class ViewQuest extends JScrollPane {
populateQuestOptions();
// Start button
- StartButton btnStart = new StartButton(parentView);
-
- JPanel pnlButtonContainer = new JPanel();
- pnlButtonContainer.setOpaque(false);
-
- pnlButtonContainer.setLayout(new BorderLayout());
- pnlButtonContainer.add(btnStart, SwingConstants.CENTER);
- viewport.add(pnlButtonContainer, "w 100%!, gapbottom 2%, gaptop 2%");
-
- btnStart.addMouseListener(new MouseAdapter() {
- @Override
- public void mousePressed(MouseEvent e) { control.start(); }
- });
+ populateStartArea();
// New Quest
populateNewQuest();
@@ -144,18 +145,29 @@ public class ViewQuest extends JScrollPane {
challengesContainer.add(temp, "w 100%, h 70px:70px, gapbottom 5px");
}
+ if (challenges.size() == 0) {
+ JLabel lblTeaser = new JLabel("(Next challenge available in "
+ + nextChallengeInWins() + " wins.)");
+ lblTeaser.setHorizontalAlignment(SwingConstants.CENTER);
+ lblTeaser.setForeground(skin.getColor("text"));
+ lblTeaser.setFont(skin.getFont1().deriveFont(Font.BOLD, 16));
+ challengesContainer.add(lblTeaser, "w 100%!, ax center, ay top");
+ }
+
JLabel lblDuels = new JLabel("Available Duels");
lblDuels.setForeground(skin.getColor("text"));
+ lblDuels.setHorizontalAlignment(SwingConstants.CENTER);
lblDuels.setFont(skin.getFont1().deriveFont(Font.ITALIC, 14));
JLabel lblChallenges = new JLabel("Available Challenges");
lblChallenges.setForeground(skin.getColor("text"));
+ lblChallenges.setHorizontalAlignment(SwingConstants.CENTER);
lblChallenges.setFont(skin.getFont1().deriveFont(Font.ITALIC, 14));
- viewport.add(lblDuels, "w 90%, gapleft 5%, gapbottom 1%, gaptop 1%");
- viewport.add(duelsContainer, " w 90%, gapleft 5%, gapbottom 2%");
- viewport.add(lblChallenges, "w 90%, gapleft 5%, gapbottom 1%");
- viewport.add(challengesContainer, " w 90%, gapleft 5%, gapbottom 2%");
+ viewport.add(lblDuels, "w 48%, gap 1% 1% 2% 1%");
+ viewport.add(lblChallenges, "w 48%, gap 0 0 2% 1%, wrap");
+ viewport.add(duelsContainer, " w 48%, gap 1% 1% 1% 2%, ay top");
+ viewport.add(challengesContainer, " w 48%, gap 0 0 1% 2%, wrap");
// Select first event.
selectedOpponent = (SelectablePanel) duelsContainer.getComponent(0);
@@ -167,6 +179,21 @@ public class ViewQuest extends JScrollPane {
JPanel optionsContainer = new JPanel();
optionsContainer.setOpaque(false);
optionsContainer.setLayout(new MigLayout("insets 0, gap 0"));
+ optionsContainer.setBorder(new MatteBorder(0, 0, 1, 0, skin.getColor("borders")));
+
+ JLabel lblCredits = new JLabel("Credits: " + Long.toString(questData.getCredits()));
+ lblCredits.setIcon(GuiUtils.getResizedIcon(new ImageIcon("res/pics/icons/CoinStack.png"), 26, 26));
+ lblCredits.setForeground(skin.getColor("text"));
+ lblCredits.setIconTextGap(5);
+ lblCredits.setHorizontalAlignment(SwingConstants.CENTER);
+ lblCredits.setFont(skin.getFont1().deriveFont(Font.BOLD, 14));
+
+ JLabel lblLife = new JLabel("Life: " + Long.toString(questData.getLife()));
+ lblLife.setIcon(GuiUtils.getResizedIcon(new ImageIcon("res/pics/icons/Life.png"), 26, 26));
+ lblLife.setForeground(skin.getColor("text"));
+ lblLife.setIconTextGap(5);
+ lblLife.setHorizontalAlignment(SwingConstants.CENTER);
+ lblLife.setFont(skin.getFont1().deriveFont(Font.BOLD, 14));
SubButton btnEditor = new SubButton("");
btnEditor.setAction(new AbstractAction() {
@@ -195,38 +222,112 @@ public class ViewQuest extends JScrollPane {
});
btnBazaar.setText("Bazaar");
- OptionsCheckBox cbPet = new OptionsCheckBox("Summon Pet");
- OptionsCheckBox cbWall = new OptionsCheckBox("Summon Wall");
- OptionsCheckBox cbZep = new OptionsCheckBox("Launch Zeppelin");
-
lstDeckChooser = new JList();
- optionsContainer.add(btnEditor, "w 30%, h 30px!, gapleft 5%, gapright 5%, gapbottom 5px");
- optionsContainer.add(cbPet, "w 25%, h 30px!, ax center");
- optionsContainer.add(btnCardShop, "w 25%, h 30px!, gapleft 5%, wrap");
+ optionsContainer.add(btnEditor, "w 35%, h 30px!, gap 10% 5% 10px 10px");
+ optionsContainer.add(lblCredits, "w 35%!, h 30px!, wrap");
- optionsContainer.add(new JScrollPane(lstDeckChooser), "w 30%, h 60px!, gapleft 5%, gapright 5%, span 1 2");
- optionsContainer.add(cbWall, "w 25%, h 30px!, ax center, gapbottom 5px, wrap");
+ optionsContainer.add(new JScrollPane(lstDeckChooser), "w 35%, h 110px!, gap 10% 5% 0 10px, span 1 3");
+ optionsContainer.add(lblLife, "w 35%, h 30px!, gap 0 0 0 10px, wrap");
- optionsContainer.add(cbZep, "w 25%, h 30px!");
- optionsContainer.add(btnBazaar, "w 25%, h 30px!, gapleft 5%, wrap");
+ optionsContainer.add(btnCardShop, "w 35%, h 30px!, gap 0 0 0 10px, wrap");
+ optionsContainer.add(btnBazaar, "w 35%, h 30px!, gap 0 0 0 10px, wrap");
if (!questData.isFantasy()) {
- cbPet.setVisible(false);
- cbWall.setVisible(false);
- cbZep.setVisible(false);
+ lblLife.setVisible(false);
btnBazaar.setVisible(false);
}
- viewport.add(optionsContainer, "w 90%, gap 5% 0 1% 1%");
+ viewport.add(optionsContainer, "w 90%, gap 5% 0 1% 1%, span 2 1");
+ }
+
+ private void populateStartArea() {
+ JPanel pnlButtonContainer = new JPanel();
+ pnlButtonContainer.setOpaque(false);
+ pnlButtonContainer.setLayout(new MigLayout("insets 0, gap 0, wrap 2, ax center, hidemode 3"));
+
+ cbxPet = new JComboBox();
+ cbxPet.setFont(skin.getFont1().deriveFont(Font.PLAIN, 14));
+
+ cbPlant = new OptionsCheckBox("Summon Wall");
+ cbZep = new OptionsCheckBox("Launch Zeppelin");
+
+ lblPet = new JLabel(GuiUtils.getResizedIcon(
+ new ImageIcon("res/pics/icons/PetIcon.png"), 30, 30));
+ lblPlant = new JLabel(GuiUtils.getResizedIcon(
+ new ImageIcon("res/pics/icons/PlantIcon.png"), 30, 30));
+ lblZep = new JLabel(GuiUtils.getResizedIcon(
+ new ImageIcon("res/pics/icons/ZeppelinIcon.png"), 30, 30));
+
+ StartButton btnStart = new StartButton(parentView);
+ btnStart.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent e) { control.start(); }
+ });
+
+ pnlButtonContainer.add(lblPet, "w 30px!, h 30px!, gapright 10px");
+ pnlButtonContainer.add(cbxPet, "w 30%!, h 30px!, gapbottom 10px, wrap");
+
+ pnlButtonContainer.add(lblPlant, "w 30px!, h 30px!, gapright 10px");
+ pnlButtonContainer.add(cbPlant, "w 30%!, h 30px!, gapbottom 10px, wrap");
+
+ pnlButtonContainer.add(lblZep, "w 30px!, h 30px!, gapright 10px");
+ pnlButtonContainer.add(cbZep, "w 30%!, h 30px!, gapbottom 10px, wrap");
+
+ pnlButtonContainer.add(btnStart, "span 2 1");
+
+ viewport.add(pnlButtonContainer, "w 100%!, gapbottom 2%, gaptop 2%, span 2");
+
+ if (this.questData.getMode().equals(QuestData.FANTASY)) {
+ final Set
+ * nextChallengeInWins.
+ *
" + event.getDescription()
+ + "");
+
this.addMouseListener(new MouseAdapter() {
@Override
public void mouseReleased(MouseEvent e) {
@@ -345,29 +508,7 @@ public class ViewQuest extends JScrollPane {
}
}
});
-
- final File base = ForgeProps.getFile(NewConstants.IMAGE_ICON);
- File file = new File(base, event.getIcon());
-
- if (!file.exists()) {
- file = new File(base, "Unknown.jpg");
- }
-
- JLabel lblIcon = new JLabel(GuiUtils.getResizedIcon(new ImageIcon(file.toString()), 60, 60));
- lblIcon.setForeground(skin.getColor("text"));
- this.add(lblIcon, "h 60px!, w 60px!, gap 5px 5px 5px 5px, span 1 2");
-
- JLabel lblName = new JLabel(event.getTitle() + ": " + event.getDifficulty());
- lblName.setFont(skin.getFont1().deriveFont(Font.BOLD, 17));
- lblName.setForeground(skin.getColor("text"));
- this.add(lblName, "h 20px!, gap 1% 1% 5px 5px, wrap");
-
- MultiLineLabel lblDesc = new MultiLineLabel(event.getDescription());
- lblDesc.setFont(skin.getFont1().deriveFont(Font.PLAIN, 12));
- lblDesc.setForeground(skin.getColor("text"));
- lblDesc.setUI(MultiLineLabelUI.getLabelUI());
- this.add(lblDesc, " h 35px!, w 80%!, gap 1% 0 0 5px");
- }
+ }
/** @return QuestEvent */
public QuestEvent getEvent() {
@@ -375,6 +516,38 @@ public class ViewQuest extends JScrollPane {
}
}
+ /**
+ *