summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control/RoundControl.java
diff options
context:
space:
mode:
authorIda Massow <massow@informatik.uni-luebeck.de>2011-06-08 17:46:44 +0200
committerIda Massow <massow@informatik.uni-luebeck.de>2011-06-08 17:46:44 +0200
commit70af06e1bff47a36de9d9106412388b2f5b91f15 (patch)
treee4c8bd5301210d0a9e1ca12f3343c5e7d8316a4d /src/jrummikub/control/RoundControl.java
parent41fe3c93b3f0c880ce550fda4cd6ad6f30d3e99c (diff)
downloadJRummikub-70af06e1bff47a36de9d9106412388b2f5b91f15.tar
JRummikub-70af06e1bff47a36de9d9106412388b2f5b91f15.zip
LAden und Speichern geht jetzt immer sauber
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@388 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/control/RoundControl.java')
-rw-r--r--src/jrummikub/control/RoundControl.java18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/jrummikub/control/RoundControl.java b/src/jrummikub/control/RoundControl.java
index 4fadc15..e1009af 100644
--- a/src/jrummikub/control/RoundControl.java
+++ b/src/jrummikub/control/RoundControl.java
@@ -84,6 +84,14 @@ public class RoundControl {
prepareTurn();
}
+ public void abortRound() {
+ removeListeners();
+ if (turnControl != null) {
+ turnControl.abortTurn();
+ turnControl = null;
+ }
+ }
+
private void prepareTurn() {
boolean isHuman = roundState.getActivePlayer().getPlayerSettings()
.getTurnControlType() == HUMAN;
@@ -294,14 +302,18 @@ public class RoundControl {
}
void endOfRound() {
- for (Connection c : connections) {
- c.remove();
- }
+ removeListeners();
Score roundScore = score();
endOfRoundEvent.emit(roundScore);
roundFinished = true;
}
+ private void removeListeners() {
+ for (Connection c : connections) {
+ c.remove();
+ }
+ }
+
private Score score() {
List<Boolean> winners = new ArrayList<Boolean>();
List<Integer> points = new ArrayList<Integer>();