mirror of
https://github.com/magefree/mage.git
synced 2025-12-25 04:52:07 -08:00
* Fixed a cleanup problem that locked the game at game end. Minor formattings and cleanup additions.
This commit is contained in:
parent
e672e63736
commit
753ada0a01
13 changed files with 86 additions and 39 deletions
|
|
@ -88,6 +88,8 @@ public class DraftSession {
|
|||
}
|
||||
}
|
||||
|
||||
// not used
|
||||
//
|
||||
public void inform(final String message) {
|
||||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
|
|
|
|||
|
|
@ -689,6 +689,7 @@ public class GameController implements GameCallback {
|
|||
@Override
|
||||
public void gameResult(String result) {
|
||||
try {
|
||||
logger.warn("Game Result: " + result);
|
||||
endGame(result);
|
||||
} catch (MageException ex) {
|
||||
logger.fatal("Game Result error", ex);
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ import org.apache.log4j.Logger;
|
|||
|
||||
import java.rmi.RemoteException;
|
||||
import java.util.UUID;
|
||||
import mage.game.GameState;
|
||||
import mage.game.match.Match;
|
||||
import mage.view.GameEndView;
|
||||
|
||||
|
|
@ -75,7 +76,16 @@ public class GameWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameUpdate", game.getId(), getGameView()));
|
||||
logger.warn("before gameUpdate");
|
||||
GameView gameView = getGameView();
|
||||
logger.warn("after View");
|
||||
UUID id = game.getId();
|
||||
logger.warn("after ID");
|
||||
ClientCallback clientCallback = new ClientCallback("gameUpdate", id, gameView);
|
||||
logger.warn("callback obj");
|
||||
user.fireCallback(clientCallback);
|
||||
// user.fireCallback(new ClientCallback("gameUpdate", game.getId(), getGameView()));
|
||||
logger.warn("after gameUpdate");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -126,7 +136,13 @@ public class GameWatcher {
|
|||
}
|
||||
|
||||
public GameView getGameView() {
|
||||
return new GameView(game.getState(), game, this.isPlayer);
|
||||
logger.warn("start getGameView");
|
||||
GameState gameState = game.getState();
|
||||
logger.warn("start afterState");
|
||||
GameView gameView = new GameView(gameState, game, this.isPlayer);
|
||||
// return new GameView(game.getState(), game, this.isPlayer);
|
||||
logger.warn("after getGameView");
|
||||
return gameView;
|
||||
}
|
||||
|
||||
public GameEndView getGameEndView(UUID playerId, Match match) {
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@ public class GameWorker implements Callable {
|
|||
game.start(choosingPlayerId);
|
||||
game.fireUpdatePlayersEvent();
|
||||
result.gameResult(game.getWinner());
|
||||
game.cleanUp();
|
||||
} catch (MageException ex) {
|
||||
logger.fatal("GameWorker error ", ex);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue