package jrummikub.control.turn; import jrummikub.model.IHand; 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 IPlayer player; protected IHand hand; protected ITable table; protected IView view; protected boolean inspectOnly; protected boolean mayRedeal; @Override public IEvent getEndOfTurnEvent() { return endOfTurnEvent; } @Override public Event getRedealEvent() { return redealEvent; } @Override public void setup(IPlayer player, ITable table, IView view, boolean inspectOnly, boolean mayRedeal) { this.player = player; this.hand = player.getHand(); this.table = table; this.view = view; this.inspectOnly = inspectOnly; this.mayRedeal = mayRedeal; } }