package ring.server;
import java.util.ArrayList;
import java.util.List;
import ring.mobiles.MobileBaseModel;
import ring.players.PlayerCharacter;
/**
* Class that holds logged-in player information.
* @author jeff
*/
public class PlayerList {
//TODO set capacity to max connections.
private List<PlayerCharacter> players = new ArrayList<PlayerCharacter>();
public PlayerList() {
}
public void addPlayer(PlayerCharacter player) {
players.add(player);
}
public boolean removePlayer(PlayerCharacter player) {
return players.remove(player);
}
public List<PlayerCharacter> getPlayers() {
return players;
}
public List<PlayerCharacter> getMortals() {
ArrayList<PlayerCharacter> mortals = new ArrayList<PlayerCharacter>();
for (PlayerCharacter player : getPlayers()) {
if (player.getBaseModel().getType() == MobileBaseModel.Type.MORTAL) {
mortals.add(player);
}
}
return mortals;
}
public List<PlayerCharacter> getAdmins() {
ArrayList<PlayerCharacter> admins = new ArrayList<PlayerCharacter>();
for (PlayerCharacter player : getPlayers()) {
if (player.getBaseModel().getType().isGod()) {
admins.add(player);
}
}
return admins;
}
}