public void RebuildIndex() {
lowestClass = null;
highestClass = null;
classesByIndex.Clear();
foreach( PlayerClass pc in classes.Values ) {
int i = 0;
while( i < classesByIndex.Count && classesByIndex[i].rank > pc.rank ) i++;
classesByIndex.Insert( i, pc );
if( lowestClass == null || lowestClass.rank > pc.rank ) {
lowestClass = pc;
}
if( highestClass == null || pc.rank > highestClass.rank ) {
highestClass = pc;
}
}
for( int i = 0; i < classesByIndex.Count; i++ ) {
classesByIndex[i].index = i;
}
}