public void TreeDeath(Trees tree, MortalityCause mortalityCause) { for (int index = 0; index < mTreeDeath.Count; ++index) { mTreeDeath[index].TreeDeath(tree, mortalityCause); } }
public bool TryAddTree(Model model, Trees trees, int treeIndex, MortalityCause reason) { if (this.treeFilter.IsEmpty == false) { // skip trees if filter is present TreeWrapper treeWrapper = new(model) { Trees = trees, TreeIndex = treeIndex }; this.treeFilter.Wrapper = treeWrapper; if (this.treeFilter.Execute() == 0.0) { return(false); } } if (this.removedTreesByResourceUnit.TryGetValue(trees.RU, out MutableTuple <Trees, List <MortalityCause> >?removedTreesOfSpecies) == false) { removedTreesOfSpecies = new MutableTuple <Trees, List <MortalityCause> >(new Trees(model.Landscape, trees.RU, trees.Species), new List <MortalityCause>()); this.removedTreesByResourceUnit.Add(trees.RU, removedTreesOfSpecies); } removedTreesOfSpecies.Item1.Add(trees, treeIndex); removedTreesOfSpecies.Item2.Add(reason); return(true); }