private void updateCreatureValues(Creature cr, bool creatureStatusChanged)
{
// data of the selected creature changed, update listview
recalculateCreatureValues(cr);
// if creaturestatus (available/dead) changed, recalculate topstats (dead creatures are not considered there)
if (creatureStatusChanged)
{
calculateTopStats(creatureCollection.creatures.Where(c => c.species == cr.species).ToList());
filterLib();
}
else
{
// int listViewLibrary replace old row with new one
int ci = -1;
for (int i = 0; i < listViewLibrary.Items.Count; i++)
{
if ((Creature)listViewLibrary.Items[i].Tag == cr)
{
ci = i;
break;
}
}
if (ci >= 0)
listViewLibrary.Items[ci] = createCreatureLVItem(cr, listViewLibrary.Items[ci].Group);
}
// recreate ownerlist
createOwnerList();
setCollectionChanged(true, cr.species);
}