package jrummikub.control.network; import jrummikub.control.turn.AbstractTurnControl; import jrummikub.model.IRoundState; import jrummikub.model.ITable; import jrummikub.util.Event1; import jrummikub.util.IEvent1; import jrummikub.util.IListener1; public class NetworkTurnControl extends AbstractTurnControl { private IConnectionControl connectionControl; private Event1 stateUpdateEvent = new Event1(); public NetworkTurnControl(IConnectionControl connectionControl) { this.connectionControl = connectionControl; } public IEvent1 getStateUpdateEvent() { return stateUpdateEvent; } @Override public void doStartTurn() { connections.add(connectionControl.getTableUpdateEvent().add(new IListener1() { @Override public void handle(ITable table) { view.getTablePanel().setStoneSets(table); } })); connections.add(connectionControl.getTurnEndEvent().add(new IListener1() { @Override public void handle(ITable table) { endOfTurn(table); } })); timer.startTimer(); } private void endOfTurn(ITable newTable) { cleanUp(); endOfTurnEvent.emit(newTable); } @Override protected void timeOut() { } @Override protected void pauseTurn() { } }