package jrummikub.control.turn; import jrummikub.model.GameSettings; import jrummikub.model.IPlayer; import jrummikub.model.ITable; import jrummikub.util.Event; import jrummikub.util.IEvent; import jrummikub.view.IView; /** * Abstract base class for TurnControls */ public abstract class AbstractTurnControl implements ITurnControl { protected Event endOfTurnEvent = new Event(); protected Event redealEvent = new Event(); protected GameSettings settings; protected IPlayer player; protected ITable table; protected IView view; protected TurnMode turnMode; @Override public IEvent getEndOfTurnEvent() { return endOfTurnEvent; } @Override public Event getRedealEvent() { return redealEvent; } @Override public void setup(GameSettings settings, IPlayer player, ITable table, IView view, TurnMode turnMode) { this.settings = settings; this.player = player; this.table = table; this.view = view; this.turnMode = turnMode; } }