Flesh out some QuestDraft stuff

This commit is contained in:
drdev
2016-07-10 21:39:05 +00:00
parent a4e8d038d9
commit 6cf805b517
2 changed files with 31 additions and 3 deletions

View File

@@ -113,6 +113,12 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
return new Deck();
}
}), null),
QuestDraft(new DeckController<DeckGroup>(null, new Supplier<DeckGroup>() { //delay setting root folder until quest loaded
@Override
public DeckGroup get() {
return new DeckGroup("");
}
}), null),
PlanarConquest(new DeckController<Deck>(null, new Supplier<Deck>() { //delay setting root folder until conquest loaded
@Override
public Deck get() {
@@ -198,6 +204,12 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
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<FDeckEditor> {
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<CardEdition> availableEditionCodes = new HashSet<>();
for (PaperCard p : deck.getAllCardsInASinglePool().toFlatList()) {
@@ -494,6 +507,7 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
case Draft:
case Sealed:
case Winston:
case QuestDraft:
return CardLimit.None;
case Commander:
case TinyLeaders:

View File

@@ -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