* Fixed draft start handling to prevent unneccessary waiting check start thread.

This commit is contained in:
LevelX2 2014-10-12 12:35:24 +02:00
parent b206983e75
commit 03337221c9
3 changed files with 29 additions and 13 deletions

View file

@ -149,19 +149,9 @@ public class DraftController {
return false;
}
private synchronized void startDraft() {
for (final Entry<UUID, DraftSession> entry: draftSessions.entrySet()) {
if (!entry.getValue().init()) {
logger.fatal("Unable to initialize client for playerId " + entry.getKey());
//TODO: generate client error message
return;
}
}
draft.start();
}
private void checkStart() {
if (allJoined()) {
private synchronized void checkStart() {
if (!draft.isStarted() && allJoined()) {
draft.setStarted();
ThreadExecutor.getInstance().getCallExecutor().execute(
new Runnable() {
@Override
@ -172,6 +162,17 @@ public class DraftController {
}
}
private void startDraft() {
for (final Entry<UUID, DraftSession> entry: draftSessions.entrySet()) {
if (!entry.getValue().init()) {
logger.fatal("Unable to initialize client for playerId " + entry.getKey());
//TODO: generate client error message
return;
}
}
draft.start();
}
private boolean allJoined() {
if (!draft.allJoined()) {
return false;