summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control/network/NetworkTurnControl.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/control/network/NetworkTurnControl.java')
-rw-r--r--src/jrummikub/control/network/NetworkTurnControl.java44
1 files changed, 24 insertions, 20 deletions
diff --git a/src/jrummikub/control/network/NetworkTurnControl.java b/src/jrummikub/control/network/NetworkTurnControl.java
index d80c9b3..57851a2 100644
--- a/src/jrummikub/control/network/NetworkTurnControl.java
+++ b/src/jrummikub/control/network/NetworkTurnControl.java
@@ -1,52 +1,56 @@
package jrummikub.control.network;
import jrummikub.control.turn.AbstractTurnControl;
+import jrummikub.model.IHand;
import jrummikub.model.IRoundState;
import jrummikub.model.ITable;
import jrummikub.util.Event1;
import jrummikub.util.IEvent1;
import jrummikub.util.IListener1;
+import jrummikub.util.IListener3;
public class NetworkTurnControl extends AbstractTurnControl {
private IConnectionControl connectionControl;
private Event1<IRoundState> stateUpdateEvent = new Event1<IRoundState>();
-
-
+
public NetworkTurnControl(IConnectionControl connectionControl) {
this.connectionControl = connectionControl;
}
-
+
public IEvent1<IRoundState> getStateUpdateEvent() {
return stateUpdateEvent;
}
-
+
@Override
public void doStartTurn() {
- connections.add(connectionControl.getTableUpdateEvent().add(new IListener1<ITable>() {
- @Override
- public void handle(ITable table) {
- view.getTablePanel().setStoneSets(table);
- }
- }));
- connections.add(connectionControl.getTurnEndEvent().add(new IListener1<ITable>() {
- @Override
- public void handle(ITable table) {
- endOfTurn(table);
- }
- }));
+ connections.add(connectionControl.getTableUpdateEvent().add(
+ new IListener1<ITable>() {
+ @Override
+ public void handle(ITable table) {
+ view.getTablePanel().setStoneSets(table);
+ }
+ }));
+ connections.add(connectionControl.getTurnEndEvent().add(
+ new IListener3<IHand, ITable, ITable>() {
+ @Override
+ public void handle(IHand oldHand, ITable oldTable, ITable newTable) {
+ endOfTurn(oldHand, oldTable, newTable);
+ }
+ }));
timer.startTimer();
}
- private void endOfTurn(ITable newTable) {
+ private void endOfTurn(IHand oldHand, ITable oldTable, ITable newTable) {
cleanUp();
- endOfTurnEvent.emit(newTable);
+
+ endOfTurnEvent.emit(oldHand, oldTable, newTable);
}
-
+
@Override
protected void timeOut() {
}
-
+
@Override
protected void pauseTurn() {
}