コード例 #1
0
 public void TreeDeath(Trees tree, MortalityCause mortalityCause)
 {
     for (int index = 0; index < mTreeDeath.Count; ++index)
     {
         mTreeDeath[index].TreeDeath(tree, mortalityCause);
     }
 }
コード例 #2
0
        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);
        }