summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control/turn/AbstractTurnControl.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/control/turn/AbstractTurnControl.java')
-rw-r--r--src/jrummikub/control/turn/AbstractTurnControl.java19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/jrummikub/control/turn/AbstractTurnControl.java b/src/jrummikub/control/turn/AbstractTurnControl.java
index fd88370..f129f24 100644
--- a/src/jrummikub/control/turn/AbstractTurnControl.java
+++ b/src/jrummikub/control/turn/AbstractTurnControl.java
@@ -19,7 +19,7 @@ import jrummikub.view.IView;
* Abstract base class for TurnControls
*/
public abstract class AbstractTurnControl implements ITurnControl {
- protected Event endOfTurnEvent = new Event();
+ protected Event1<ITable> endOfTurnEvent = new Event1<ITable>();
protected Event redealEvent = new Event();
protected Event1<ITable> tableUpdateEvent = new Event1<ITable>();
protected TurnInfo turnInfo;
@@ -27,9 +27,10 @@ public abstract class AbstractTurnControl implements ITurnControl {
protected IView view;
protected ITurnTimer timer;
protected List<Connection> connections = new ArrayList<Connection>();
+ private boolean started = false;
@Override
- public IEvent getEndOfTurnEvent() {
+ public IEvent1<ITable> getEndOfTurnEvent() {
return endOfTurnEvent;
}
@@ -37,7 +38,7 @@ public abstract class AbstractTurnControl implements ITurnControl {
public IEvent getRedealEvent() {
return redealEvent;
}
-
+
@Override
public IEvent1<ITable> getTableUpdateEvent() {
return tableUpdateEvent;
@@ -53,6 +54,18 @@ public abstract class AbstractTurnControl implements ITurnControl {
view.enablePauseMode(false);
}
+ @Override
+ public void startTurn() {
+ if (started) {
+ return;
+ }
+
+ started = true;
+ doStartTurn();
+ }
+
+ protected abstract void doStartTurn();
+
protected abstract void timeOut();
@Override