/**
*
*/
package de.urszeidler.shr5.webserver.mgnt;
import java.util.List;
import org.eclipse.emf.ecore.EStructuralFeature;
import com.google.common.collect.Lists;
import de.urszeidler.eclipse.shr5.gameplay.Command;
import de.urszeidler.eclipse.shr5.gameplay.ProbeState;
import de.urszeidler.eclipse.shr5.runtime.RuntimeCharacter;
import de.urszeidler.eclipse.shr5.util.ShadowrunTools;
/**
* Holds the data for a connected player.
*
* @author urs
*/
public class PlayerManager {
/**
* Holds a probe dialog info which is a command at a probe phase, the state.
*
* @author urs
*/
public class ProbeDialog {
private ProbeState state;
private Command cmd;
private List<EStructuralFeature> features;
private String message;
public ProbeDialog(Command cmd, EStructuralFeature[] eStructuralFeatures) {
this.cmd = cmd;
if (eStructuralFeatures != null)
this.features = Lists.newArrayList(eStructuralFeatures);
}
public ProbeState getState() {
return state;
}
public void setState(ProbeState state) {
this.state = state;
}
public Command getCmd() {
return cmd;
}
public void setCmd(Command cmd) {
this.cmd = cmd;
}
public List<EStructuralFeature> getFeatures() {
return features;
}
public void setFeatures(List<EStructuralFeature> features) {
this.features = features;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
private RuntimeCharacter character;
private String characterId;
private boolean active;
private ProbeDialog currentDialog;
private Command ignoreCommand;
private int historyLinesReaded;
private int woundState;
private boolean inCombat;
public RuntimeCharacter getCharacter() {
return character;
}
public void setCharacter(RuntimeCharacter character) {
this.character = character;
characterId = ShadowrunTools.getResourceId(character);
}
public ProbeDialog getCurrentDialog() {
return currentDialog;
}
public void setCurrentDialog(ProbeDialog currentDialog) {
this.currentDialog = currentDialog;
}
public void createDialog(Command cmd, EStructuralFeature[] eStructuralFeatures) {
this.currentDialog = new ProbeDialog(cmd, eStructuralFeatures);
}
public void createDialog(String titel, String message) {
this.currentDialog = new ProbeDialog(null, null);
this.currentDialog.setMessage(message);
}
public void setCommandToIgnore(Command command) {
ignoreCommand = command;
}
public Command getIgnoreCommand() {
return ignoreCommand;
}
public int getHistoryLinesReaded() {
return historyLinesReaded;
}
public void setHistoryLinesReaded(int historyLinesReaded) {
this.historyLinesReaded = historyLinesReaded;
}
public int getWoundState() {
return woundState;
}
public void setWoundState(int woundState) {
this.woundState = woundState;
}
public boolean isInCombat() {
return inCombat;
}
public void setInCombat(boolean inCombat) {
this.inCombat = inCombat;
}
}