From e05948fb9956dc5d9c4dc9f81a6490084d88a7c5 Mon Sep 17 00:00:00 2001 From: Krazy Date: Sat, 31 May 2014 21:53:51 +0000 Subject: [PATCH] Edit deck stage of draft tournaments now persists between loading and saving quests. --- .../screens/home/quest/CSubmenuQuestDraft.java | 15 +++++++++++++-- .../java/forge/quest/data/QuestAchievements.java | 13 ++++++++++--- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDraft.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDraft.java index 6dd06788f6e..b0b581fb77b 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDraft.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDraft.java @@ -66,7 +66,7 @@ public enum CSubmenuQuestDraft implements ICDoc { if (FModel.getQuest().getDraftDecks() == null || !FModel.getQuest().getDraftDecks().contains(QuestEventDraft.DECK_NAME)) { view.setMode(Mode.SELECT_TOURNAMENT); - } else if (!FModel.getQuest().getAchievements().isTournamentActive()) { + } else if (!FModel.getQuest().getAchievements().isTournamentStarted()) { view.setMode(Mode.PREPARE_DECK); } else { view.setMode(Mode.TOURNAMENT_ACTIVE); @@ -339,10 +339,21 @@ public enum CSubmenuQuestDraft implements ICDoc { } private void startTournament() { + + boolean okayToStart = FOptionPane.showConfirmDialog("You will not be able to edit your deck once you start the tournament.\nAre you sure you wish to continue?", "Start Tournament?"); + + if (!okayToStart) { + return; + } + + FModel.getQuest().getAchievements().setTournamentStarted(true); + FModel.getQuest().save(); + VSubmenuQuestDraft.SINGLETON_INSTANCE.setMode(Mode.TOURNAMENT_ACTIVE); VSubmenuQuestDraft.SINGLETON_INSTANCE.populate(); + update(); - // TODO All the stuff needed for the tournament itself + } private Deck copyDeck(final Deck deck) { diff --git a/forge-gui/src/main/java/forge/quest/data/QuestAchievements.java b/forge-gui/src/main/java/forge/quest/data/QuestAchievements.java index edf213c2c23..8d59ca9f4f9 100644 --- a/forge-gui/src/main/java/forge/quest/data/QuestAchievements.java +++ b/forge-gui/src/main/java/forge/quest/data/QuestAchievements.java @@ -29,7 +29,9 @@ public class QuestAchievements { private int winstreakBest = 0; private int winstreakCurrent = 0; private int lost; - + + private boolean tournamentStarted = false; + // Difficulty - will store only index from now. private int difficulty; @@ -49,6 +51,7 @@ public class QuestAchievements { drafts.remove(drafts.get(currentDraft)); currentDraft = -1; winCountAtEndOfDraft = win; + tournamentStarted = false; FModel.getQuest().save(); } @@ -204,8 +207,8 @@ public class QuestAchievements { return drafts; } - public boolean isTournamentActive() { - return currentDraft >= 0; + public boolean isTournamentStarted() { + return currentDraft >= 0 && tournamentStarted; } public void generateNewTournaments() { @@ -243,5 +246,9 @@ public class QuestAchievements { public QuestEventDraft getCurrentDraft() { return drafts.get(currentDraft); } + + public void setTournamentStarted(final boolean started) { + tournamentStarted = started; + } }