package mekhq.gui.sorter; import java.util.Comparator; import mekhq.campaign.personnel.Person; import mekhq.campaign.work.IPartWork; /** * A comparator that sorts techs by skill level * @author Jay Lawson * */ public class TechSorter implements Comparator<Person> { private IPartWork partWork; public TechSorter() { this(null); } public TechSorter(IPartWork p) { partWork = p; } @Override public int compare(Person p0, Person p1) { if (partWork != null && partWork.getUnit() != null) { if (p0.getTechUnitIDs().contains(partWork.getUnit().getId())) { return -1; } if (p1.getTechUnitIDs().contains(partWork.getUnit().getId())) { return 1; } } return ((Comparable<Integer>)p0.getBestTechLevel()).compareTo(p1.getBestTechLevel()); } public void setPart(IPartWork p) { partWork = p; } public void clearPart() { partWork = null; } }