package net.fe; import java.io.Serializable; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.newdawn.slick.Color; import net.fe.unit.Unit; public class Party implements Iterable<Unit>, Serializable{ private static final long serialVersionUID = 1334090578185765598L; private Color color; private ArrayList<Unit> units; private ArrayList<Party> allies; public static final Color TEAM_RED = new Color(220,0,0); public static final Color TEAM_GREEN = new Color(0,190,0); public static final Color TEAM_BLUE = new Color(0,0,220); public Party() { units = new ArrayList<Unit>(); allies = new ArrayList<Party>(); allies.add(this); color = TEAM_BLUE; } public Party(ArrayList<Unit> units) { this.units = units; allies = new ArrayList<Party>(); allies.add(this); } public void addAlly(Party p){ allies.add(p); } public boolean isAlly(Party p){ return allies.contains(p); } public void addUnit(Unit unit) { units.add(unit); unit.setParty(this); } public Unit getUnit(int index) { return units.get(index); } public List<Unit> getUnits() { return units; } public Unit search(String name) { for(Unit u : units) { if(u.name.equals(name)){ return u; } } return null; } public int size() { return units.size(); } public void setColor(Color c){ color = c; } public Color getColor(){ return color; } @Override public Iterator<Unit> iterator() { return units.iterator(); } public void clear() { units.clear(); } }