mirror of
https://github.com/magefree/mage.git
synced 2025-12-22 19:41:59 -08:00
Fixed memory leak
This commit is contained in:
parent
40fda24615
commit
9de37bea5a
5 changed files with 91 additions and 63 deletions
|
|
@ -386,7 +386,7 @@ public abstract class GameImpl<T extends GameImpl<T>> implements Game, Serializa
|
|||
scorePlayer = state.getPlayers().values().iterator().next();
|
||||
init(choosingPlayerId, options);
|
||||
play(startingPlayerId);
|
||||
saveState();
|
||||
//saveState();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -448,7 +448,7 @@ public abstract class GameImpl<T extends GameImpl<T>> implements Game, Serializa
|
|||
player.beginTurn(this);
|
||||
}
|
||||
fireInformEvent("game has started");
|
||||
saveState();
|
||||
//saveState();
|
||||
|
||||
//20091005 - 103.1
|
||||
if (!gameOptions.skipInitShuffling) { //don't shuffle in test mode for card injection on top of player's libraries
|
||||
|
|
@ -476,7 +476,7 @@ public abstract class GameImpl<T extends GameImpl<T>> implements Game, Serializa
|
|||
return;
|
||||
}
|
||||
|
||||
saveState();
|
||||
//saveState();
|
||||
|
||||
//20091005 - 103.3
|
||||
for (UUID playerId: state.getPlayerList(startingPlayerId)) {
|
||||
|
|
@ -496,7 +496,7 @@ public abstract class GameImpl<T extends GameImpl<T>> implements Game, Serializa
|
|||
mulligan(player.getId());
|
||||
}
|
||||
fireInformEvent(player.getName() + " keeps hand");
|
||||
saveState();
|
||||
//saveState();
|
||||
}
|
||||
|
||||
for (UUID playerId : state.getPlayerList(startingPlayerId)) {
|
||||
|
|
@ -627,8 +627,8 @@ public abstract class GameImpl<T extends GameImpl<T>> implements Game, Serializa
|
|||
Player player;
|
||||
while (!isPaused() && !isGameOver()) {
|
||||
try {
|
||||
if (bookmark == 0)
|
||||
bookmark = bookmarkState();
|
||||
//if (bookmark == 0)
|
||||
//bookmark = bookmarkState();
|
||||
player = getPlayer(state.getPlayerList().get());
|
||||
state.setPriorityPlayerId(player.getId());
|
||||
while (!player.isPassed() && !player.hasLost() && !player.hasLeft() && !isPaused() && !isGameOver()) {
|
||||
|
|
@ -654,7 +654,7 @@ public abstract class GameImpl<T extends GameImpl<T>> implements Game, Serializa
|
|||
state.getRevealed().reset();
|
||||
break;
|
||||
} else {
|
||||
removeBookmark(bookmark);
|
||||
//removeBookmark(bookmark);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
@ -662,13 +662,13 @@ public abstract class GameImpl<T extends GameImpl<T>> implements Game, Serializa
|
|||
catch (Exception ex) {
|
||||
logger.fatal("Game exception ", ex);
|
||||
this.fireErrorEvent("Game exception occurred: ", ex);
|
||||
restoreState(bookmark);
|
||||
//restoreState(bookmark);
|
||||
bookmark = 0;
|
||||
continue;
|
||||
}
|
||||
state.getPlayerList().getNext();
|
||||
}
|
||||
removeBookmark(bookmark);
|
||||
//removeBookmark(bookmark);
|
||||
bookmark = 0;
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
|
|
|
|||
|
|
@ -28,15 +28,16 @@
|
|||
|
||||
package mage.game.turn;
|
||||
|
||||
import mage.Constants.PhaseStep;
|
||||
import mage.Constants.TurnPhase;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import mage.Constants.PhaseStep;
|
||||
import mage.Constants.TurnPhase;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -121,7 +122,9 @@ public class Turn implements Serializable {
|
|||
if (phase.play(game, activePlayerId)) {
|
||||
//20091005 - 500.4/703.4n
|
||||
game.emptyManaPools();
|
||||
game.saveState();
|
||||
|
||||
//game.saveState();
|
||||
|
||||
//20091005 - 500.8
|
||||
playExtraPhases(game, phase.getType());
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue