package net.fe;
import java.io.Serializable;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
import net.fe.modifier.Modifier;
import net.fe.overworldStage.objective.Objective;
import net.fe.overworldStage.objective.Rout;
import net.fe.pick.Draft;
import net.fe.pick.PickMode;
/**
* Contains data on game setup and players.
* @author Shawn
*
*/
public class Session implements Serializable {
/**
*
*/
private static final long serialVersionUID = 696432583909698581L;
private HashMap<Byte, Player> players;
private Objective objective;
private String map;
private int maxUnits;
private Set<Modifier> modifiers;
private PickMode pickMode;
public Session() {
players = new HashMap<Byte, Player>();
objective = new Rout();
modifiers = new HashSet<Modifier>();
pickMode = new Draft();
}
public void addPlayer(Player p) {
players.put(p.getID(), p);
}
public void addPlayer(byte id, Player p) {
players.put(id, p);
p.setClientID(id);
}
public Player removePlayer(Player p) {
return players.remove(p.getID());
}
public Player removePlayer(byte id) {
return players.remove(id);
}
public Player getPlayer(byte id) {
return players.get(id);
}
public int numPlayers() {
return players.size();
}
public HashMap<Byte, Player> getPlayerMap() {
return players;
}
public Player[] getPlayers() {
return players.values().toArray(new Player[players.size()]);
}
public Objective getObjective() {
return objective;
}
public void setObjective(Objective objective) {
this.objective = objective;
}
public String getMap() {
return map;
}
public void setMap(String map) {
this.map = map;
}
public int getMaxUnits() {
return maxUnits;
}
public void setMaxUnits(int i) {
maxUnits = i;
}
public Set<Modifier> getModifiers() {
return modifiers;
}
public void addModifier(Modifier m) {
modifiers.add(m);
}
public PickMode getPickMode() {
return pickMode;
}
public void setPickMode(PickMode selectedItem) {
pickMode = selectedItem;
}
}