Updating threading in draft start game process.

This commit is contained in:
Doublestrike
2012-03-09 03:45:12 +00:00
parent 5881a6ebde
commit 24052017e8

View File

@@ -8,6 +8,7 @@ import java.util.Random;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import javax.swing.SwingWorker;
import forge.Command; import forge.Command;
import forge.Constant; import forge.Constant;
@@ -182,9 +183,17 @@ public enum CSubmenuDraft implements ICSubmenu {
return; return;
} }
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
OverlayUtils.startGameOverlay(); OverlayUtils.startGameOverlay();
OverlayUtils.showOverlay(); OverlayUtils.showOverlay();
}
});
final SwingWorker<Object, Void> worker = new SwingWorker<Object, Void>() {
@Override
public Object doInBackground() {
DeckGroup opponentDecks = Singletons.getModel().getDecks().getDraft().get(human.getName()); DeckGroup opponentDecks = Singletons.getModel().getDecks().getDraft().get(human.getName());
Constant.Runtime.HUMAN_DECK[0] = human; Constant.Runtime.HUMAN_DECK[0] = human;
@@ -196,8 +205,16 @@ public enum CSubmenuDraft implements ICSubmenu {
Constant.Runtime.setGameType(GameType.Draft); Constant.Runtime.setGameType(GameType.Draft);
GameNew.newGame(Constant.Runtime.HUMAN_DECK[0], Constant.Runtime.COMPUTER_DECK[0]); GameNew.newGame(Constant.Runtime.HUMAN_DECK[0], Constant.Runtime.COMPUTER_DECK[0]);
return null;
}
@Override
public void done() {
OverlayUtils.hideOverlay(); OverlayUtils.hideOverlay();
} }
};
worker.execute();
}
/** */ /** */
private void setupDraft() { private void setupDraft() {