package jrummikub.model;

/** Class managing player data. No methods in release 1 */
public class Player implements IPlayer {
	private static final long serialVersionUID = 2588861964190952815L;

	private PlayerSettings settings;
	private IHand hand;
	private boolean laidOut;
	private boolean lastTurnInvalid;
	private int lastTurnStoneCount;

	/**
	 * Create a new player with a given name and color
	 * 
	 * @param settings
	 *          the player settings
	 */
	public Player(PlayerSettings settings) {
		this.settings = settings;

		hand = new Hand();
		laidOut = false;
	}

	@Override
	public IHand getHand() {
		return hand;
	}

	@Override
	public void setHand(IHand hand) {
		this.hand = hand;
	}

	@Override
	public boolean getLaidOut() {
		return laidOut;
	}

	@Override
	public void setLaidOut(boolean laidOut) {
		this.laidOut = laidOut;
	}

	@Override
	public PlayerSettings getPlayerSettings() {
		return settings;
	}
	
	@Override
	public boolean wasLastTurnInvalid() {
		return lastTurnInvalid;
	}
	
	@Override
	public void setLastTurnInvalid(boolean value) {
		lastTurnInvalid = value;
	}
	
	@Override
	public int getLastTurnStoneCount() {
		return lastTurnStoneCount;
	}
	
	@Override
	public void setLastTurnStoneCount(int value) {
		lastTurnStoneCount = value;
	}
}
