private void showCreaturesInListView(List<Creature> creatures)
{
listViewLibrary.BeginUpdate();
// clear ListView
listViewLibrary.Items.Clear();
listViewLibrary.Groups.Clear();
// add groups for each species (so they are sorted alphabetically)
foreach (string s in Values.V.speciesNames)
{
listViewLibrary.Groups.Add(new ListViewGroup(s));
}
foreach (Creature cr in creatures)
{
// check if group of species exists
ListViewGroup g = null;
foreach (ListViewGroup lvg in listViewLibrary.Groups)
{
if (lvg.Header == cr.species)
{
g = lvg;
break;
}
}
if (g == null)
{
g = new ListViewGroup(cr.species);
listViewLibrary.Groups.Add(g);
}
listViewLibrary.Items.Add(createCreatureLVItem(cr, g));
}
listViewLibrary.EndUpdate();
}