public PlayerInsignia GetUnusedInsignia(int index) { PlayerInsignia insignia = PlayerInsignia.GetInsignia(index); if (!freeIndicies.Remove(index)) { throw new ArgumentException("Index was already in use"); } return(insignia); }
public PlayerInsignia GetNextUnusedInsignia() { PlayerInsignia insignia = null; for (int i = 0; i < freeIndicies.Count; i++) { int index = freeIndicies[i]; if (index != NeutralPlayerIndex) { freeIndicies.RemoveAt(i); insignia = PlayerInsignia.GetInsignia(index); break; } } return(insignia); }