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;
}
public Event getRedealEvent() {
return redealEvent;
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;