package rpgEngine.Data.Abstract.NPC;

import rpgEngine.Data.Abstract.World.CharacterAvatar;
import rpgEngine.Data.Raw.Graphics.CharacterSet;

public class NPC implements CharacterAvatar {
	private Integer characterSetPosition;
	private CharacterSet charSet;
	private Script script;
	
	private Boolean hasOnlyShowCriteria;
	private Integer onlyShowVariable;
	private Boolean onlyShowVariableValue;
		
	
	public NPC() {
		this(null,null);
	}
	
	
	public NPC(CharacterSet c, Script s) {
		charSet = c;
		script = s;
		characterSetPosition = CharacterSet.IMAGES_DOWN_0;
		
		setHasOnlyShowCriteria(false);
		setOnlyShowVariable(-1);
		setOnlyShowVariableValue(false);
	}
	
	
	public void setCharacterSet(CharacterSet cs) {
		charSet = cs;
	}
	
	
	@Override
	public CharacterSet getCharacterSet() {
		return charSet;
	}

	@Override
	public Integer getCharacterPosition() {
		return characterSetPosition;
	}

	@Override
	public void setCharacterPosition(Integer p) {
		characterSetPosition = p;
	}

	public Script getScript() {
		return script;
	}

	public void setScript(Script script) {
		this.script = script;
	}

	
	public Boolean getHasOnlyShowCriteria() {
		return hasOnlyShowCriteria;
	}


	public void setHasOnlyShowCriteria(Boolean hasOnlyShowCriteria) {
		this.hasOnlyShowCriteria = hasOnlyShowCriteria;
	}


	public Integer getOnlyShowVariable() {
		return onlyShowVariable;
	}


	public void setOnlyShowVariable(Integer onlyShowVariable) {
		this.onlyShowVariable = onlyShowVariable;
	}


	public Boolean getOnlyShowVariableValue() {
		return onlyShowVariableValue;
	}


	public void setOnlyShowVariableValue(Boolean onlyShowVariableValue) {
		this.onlyShowVariableValue = onlyShowVariableValue;
	}

}
