package jrummikub.view; import jrummikub.util.IEvent; /** * The player panel that contains a player's board and other user interfaces */ public interface IPlayerPanel { /** * Sets the time the player has left for his turn * * @param time * the time left */ public void setTimeLeft(int time); /** * The sort by groups event is emitted when the player wants to sort his * stones by groups * * @return the event */ public IEvent getSortByGroupsEvent(); /** * The sort by runs event is emitted when the player wants to sort his * stones by runs * * @return the event */ public IEvent getSortByRunsEvent(); /** * The end turn event is emitted when the player wants to end his turn * * @return the event */ public IEvent getEndTurnEvent(); /** * The redeal event is emitted when the player wants to get new stones * * @return the event */ public IEvent getRedealEvent(); /** * Sets the buttons available to end the turn * * @param inspectOnly * true for each player's first turn * @param mayRedeal * true if the player is allowed to trigger a redealing of all * stones */ public abstract void setEndTurnMode(boolean inspectOnly, boolean mayRedeal); }