private void growAllOrganisms()
{
foreach (string organismID in _organismIDList)
{
OrganismState organismState = _newWorldState.GetOrganismState(organismID);
if (organismState == null || !organismState.IsAlive) continue;
// grow it and check the index to see if it has room to grow
// if it doesn't, just throw away the clone
OrganismState grownOrganism = organismState.Grow();
// The organism can only grow if there is space to grow without overlapping other organisms
if (_newWorldState.OnlyOverlapsSelf(grownOrganism))
{
// Remove it and read it so that the index gets updated
_newWorldState.RefreshOrganism(grownOrganism);
}
}
}