diff options
author | Jannis Harder <harder@informatik.uni-luebeck.de> | 2011-05-27 17:54:46 +0200 |
---|---|---|
committer | Jannis Harder <harder@informatik.uni-luebeck.de> | 2011-05-27 17:54:46 +0200 |
commit | 2d198820a9634c30d62c77f6f310aa227ee29733 (patch) | |
tree | 5096eaf907f64343b9997abea3f51ee4c070cb00 /src/jrummikub/control/TurnControl.java | |
parent | 63397e2f5fc62c7d1fc2efbe8f4c686b2343e471 (diff) | |
download | JRummikub-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.java | 27 |
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; + } } |