Merge branch 'newBranch' into 'master'

[Mobile] Fix Quest Tournament loading

See merge request core-developers/forge!3221
This commit is contained in:
Sol
2020-10-04 01:26:40 +00:00
3 changed files with 40 additions and 19 deletions

View File

@@ -26,6 +26,7 @@ import forge.quest.QuestEventDraft;
import forge.quest.QuestTournamentController; import forge.quest.QuestTournamentController;
import forge.quest.QuestDraftUtils.Mode; import forge.quest.QuestDraftUtils.Mode;
import forge.quest.data.QuestEventDraftContainer; import forge.quest.data.QuestEventDraftContainer;
import forge.screens.LoadingOverlay;
import forge.screens.limited.DraftingProcessScreen; import forge.screens.limited.DraftingProcessScreen;
import forge.toolbox.FButton; import forge.toolbox.FButton;
import forge.toolbox.FContainer; import forge.toolbox.FContainer;
@@ -228,8 +229,18 @@ public class QuestTournamentsScreen extends QuestLaunchScreen implements IQuestT
@Override @Override
public void startDraft(BoosterDraft draft) { public void startDraft(BoosterDraft draft) {
FThreads.invokeInEdtLater(new Runnable() {
@Override
public void run() {
LoadingOverlay.show("Loading Quest Tournament", new Runnable() {
@Override
public void run() {
Forge.openScreen(new DraftingProcessScreen(draft, EditorType.QuestDraft, controller)); Forge.openScreen(new DraftingProcessScreen(draft, EditorType.QuestDraft, controller));
} }
});
}
});
}
private Deck getDeck() { private Deck getDeck() {
DeckGroup deckGroup = FModel.getQuest().getDraftDecks().get(QuestEventDraft.DECK_NAME); DeckGroup deckGroup = FModel.getQuest().getDraftDecks().get(QuestEventDraft.DECK_NAME);

View File

@@ -225,7 +225,11 @@ public class BoosterDraft implements IBoosterDraft {
final BoosterDraft draft = new BoosterDraft(draftType); final BoosterDraft draft = new BoosterDraft(draftType);
for (String booster : boosters) { for (String booster : boosters) {
try {
draft.product.add(block.getBooster(booster)); draft.product.add(block.getBooster(booster));
} catch (Exception ex) {
System.err.println("Booster Draft Error: "+ex.getMessage());
}
} }
IBoosterDraft.LAND_SET_CODE[0] = block.getLandSet(); IBoosterDraft.LAND_SET_CODE[0] = block.getLandSet();

View File

@@ -24,6 +24,7 @@ import forge.tournament.system.TournamentBracket;
import forge.tournament.system.TournamentPairing; import forge.tournament.system.TournamentPairing;
import forge.tournament.system.TournamentPlayer; import forge.tournament.system.TournamentPlayer;
import forge.util.TextUtil; import forge.util.TextUtil;
import forge.util.ThreadUtil;
import forge.util.gui.SGuiChoose; import forge.util.gui.SGuiChoose;
import forge.util.gui.SOptionPane; import forge.util.gui.SOptionPane;
import forge.util.storage.IStorage; import forge.util.storage.IStorage;
@@ -381,6 +382,9 @@ public class QuestTournamentController {
} }
public void startDraft() { public void startDraft() {
ThreadUtil.invokeInGameThread(new Runnable() {
@Override
public void run() {
if (drafting) { if (drafting) {
SOptionPane.showErrorDialog(localizer.getMessage("lblCurrentlyInDraft")); SOptionPane.showErrorDialog(localizer.getMessage("lblCurrentlyInDraft"));
return; return;
@@ -405,6 +409,8 @@ public class QuestTournamentController {
final BoosterDraft draft = draftEvent.enter(); final BoosterDraft draft = draftEvent.enter();
view.startDraft(draft); view.startDraft(draft);
} }
});
}
public boolean cancelDraft() { public boolean cancelDraft() {
if (SOptionPane.showConfirmDialog(localizer.getMessage("lblLeaveDraftConfirm"), localizer.getMessage("lblLeaveDraft") + "?", localizer.getMessage("lblLeave"), localizer.getMessage("lblCancel"), false)) { if (SOptionPane.showConfirmDialog(localizer.getMessage("lblLeaveDraftConfirm"), localizer.getMessage("lblLeaveDraft") + "?", localizer.getMessage("lblLeave"), localizer.getMessage("lblCancel"), false)) {