package net.sf.colossus.client;
import java.io.Serializable;
import java.util.Comparator;
import net.sf.colossus.variant.CreatureType;
/** Sort creatures in decreasing order of importance, then by creature
* name, then by certainty. */
final class CreatureInfoComparator implements Comparator<CreatureInfo>,
Serializable
{
public int compare(CreatureInfo info1, CreatureInfo info2)
{
CreatureType creature1 = info1.getType();
CreatureType creature2 = info2.getType();
int diff = creature2.getKillValue() - creature1.getKillValue();
if (diff != 0)
{
return diff;
}
diff = creature1.getName().compareTo(creature2.getName());
if (diff != 0)
{
return diff;
}
if (info1.isCertain() && !info2.isCertain())
{
return -1;
}
if (info2.isCertain() && !info1.isCertain())
{
return 1;
}
return 0;
}
}