diff --git a/forge-gui-mobile/src/forge/deck/FDeckEditor.java b/forge-gui-mobile/src/forge/deck/FDeckEditor.java index b8128d6b14a..2dda7e8196e 100644 --- a/forge-gui-mobile/src/forge/deck/FDeckEditor.java +++ b/forge-gui-mobile/src/forge/deck/FDeckEditor.java @@ -113,6 +113,12 @@ public class FDeckEditor extends TabPageScreen { return new Deck(); } }), null), + QuestDraft(new DeckController(null, new Supplier() { //delay setting root folder until quest loaded + @Override + public DeckGroup get() { + return new DeckGroup(""); + } + }), null), PlanarConquest(new DeckController(null, new Supplier() { //delay setting root folder until conquest loaded @Override public Deck get() { @@ -198,6 +204,12 @@ public class FDeckEditor extends TabPageScreen { new DeckSectionPage(DeckSection.Main, ItemManagerConfig.QUEST_DECK_EDITOR), new DeckSectionPage(DeckSection.Sideboard, ItemManagerConfig.QUEST_DECK_EDITOR) }; + case QuestDraft: + return new DeckEditorPage[] { + new DraftPackPage(), + new DeckSectionPage(DeckSection.Main), + new DeckSectionPage(DeckSection.Sideboard, ItemManagerConfig.DRAFT_POOL) + }; case PlanarConquest: return new DeckEditorPage[] { new CatalogPage(ItemManagerConfig.CONQUEST_COLLECTION, "Collection", FSkinImage.SPELLBOOK), @@ -317,6 +329,7 @@ public class FDeckEditor extends TabPageScreen { switch (editorType) { case Draft: case Sealed: + case QuestDraft: //suggest a random set from the ones used in the limited card pool that have all basic lands Set availableEditionCodes = new HashSet<>(); for (PaperCard p : deck.getAllCardsInASinglePool().toFlatList()) { @@ -494,6 +507,7 @@ public class FDeckEditor extends TabPageScreen { case Draft: case Sealed: case Winston: + case QuestDraft: return CardLimit.None; case Commander: case TinyLeaders: diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java index 4de1c9de076..0dc25f9fe83 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java @@ -3,15 +3,23 @@ package forge.screens.quest; import com.badlogic.gdx.graphics.g2d.BitmapFont.HAlignment; import com.badlogic.gdx.math.Vector2; +import forge.Forge; import forge.assets.FSkinFont; import forge.assets.FSkinImage; +import forge.deck.Deck; +import forge.deck.DeckGroup; +import forge.deck.FDeckEditor; +import forge.deck.FDeckEditor.EditorType; import forge.interfaces.IButton; import forge.limited.BoosterDraft; +import forge.model.FModel; import forge.quest.IQuestTournamentView; +import forge.quest.QuestEventDraft; import forge.quest.QuestTournamentController; import forge.quest.QuestDraftUtils.Mode; import forge.quest.data.QuestEventDraftContainer; import forge.screens.FScreen; +import forge.screens.limited.DraftingProcessScreen; import forge.toolbox.FDisplayObject; import forge.toolbox.FLabel; import forge.toolbox.FOptionPane; @@ -106,12 +114,18 @@ public class QuestTournamentsScreen extends QuestLaunchScreen implements IQuestT @Override public void startDraft(BoosterDraft draft) { - + Forge.openScreen(new DraftingProcessScreen(draft)); } @Override - public void editDeck(boolean isNew) { - + public void editDeck(boolean isExistingDeck) { + DeckGroup deckGroup = FModel.getQuest().getDraftDecks().get(QuestEventDraft.DECK_NAME); + if (deckGroup != null) { + Deck deck = deckGroup.getHumanDeck(); + if (deck != null) { + Forge.openScreen(new FDeckEditor(EditorType.QuestDraft, deck, isExistingDeck)); + } + } } @Override