summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control/TurnControl.java
diff options
context:
space:
mode:
authorJannis Harder <harder@informatik.uni-luebeck.de>2011-05-27 17:54:46 +0200
committerJannis Harder <harder@informatik.uni-luebeck.de>2011-05-27 17:54:46 +0200
commit2d198820a9634c30d62c77f6f310aa227ee29733 (patch)
tree5096eaf907f64343b9997abea3f51ee4c070cb00 /src/jrummikub/control/TurnControl.java
parent63397e2f5fc62c7d1fc2efbe8f4c686b2343e471 (diff)
downloadJRummikub-2d198820a9634c30d62c77f6f310aa227ee29733.tar
JRummikub-2d198820a9634c30d62c77f6f310aa227ee29733.zip
GameControl tests, temporary handler in SettingsControl and small
fixes git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@288 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/control/TurnControl.java')
-rw-r--r--src/jrummikub/control/TurnControl.java27
1 files changed, 24 insertions, 3 deletions
diff --git a/src/jrummikub/control/TurnControl.java b/src/jrummikub/control/TurnControl.java
index 9ce08b0..1488c75 100644
--- a/src/jrummikub/control/TurnControl.java
+++ b/src/jrummikub/control/TurnControl.java
@@ -34,6 +34,7 @@ public class TurnControl {
private List<Stone> selectedStones = new ArrayList<Stone>();
private Event endOfTurnEvent = new Event();
+ private Event redealEvent = new Event();
private List<Connection> connections = new ArrayList<Connection>();
private boolean inspectOnly;
@@ -77,12 +78,19 @@ public class TurnControl {
@Override
public void handle() {
- endOfTurn();
+ endOfTurn(false);
}
};
connections.add(timer.getTimeRunOutEvent().add(endOfTurnListener));
connections.add(view.getPlayerPanel().getEndTurnEvent()
.add(endOfTurnListener));
+
+ connections.add(view.getPlayerPanel().getRedealEvent().add(new IListener() {
+ @Override
+ public void handle() {
+ endOfTurn(true);
+ }
+ }));
addHandPanelHandlers();
addStoneCollectionHandlers();
@@ -441,9 +449,13 @@ public class TurnControl {
view.setSelectedStones(selectedStones);
}
- private void endOfTurn() {
+ private void endOfTurn(boolean redeal) {
timer.stopTimer();
- endOfTurnEvent.emit();
+ if (redeal) {
+ redealEvent.emit();
+ } else {
+ endOfTurnEvent.emit();
+ }
for (Connection c : connections) {
c.remove();
}
@@ -549,5 +561,14 @@ public class TurnControl {
}
}
}
+
+ /**
+ * Emitted when the round is aborted and needs to be restarted
+ *
+ * @return the event
+ */
+ public Event getRedealEvent() {
+ return redealEvent;
+ }
}