Пример #1
0
        private Reaction RecursiveFunction(Reaction reaction)
        {
            var oreAmount = 0;
            var listMaterialsToBeProcessed = reaction.InputMaterials;
            var outputReactions            = Reactions.Where(x => listMaterialsToBeProcessed.Select(y => y.Type).Contains(x.OutputMaterials.FirstOrDefault().Type)).ToList();

            foreach (var outputreaction in outputReactions)
            {
                var amount = outputreaction.OutputMaterials.FirstOrDefault().Quantity;

                //if (amount > )
                // for (int i = 0; i < amount; i++)
                //{
                reaction.AddReaction(RecursiveFunction(outputreaction));

                //}
                InputReactions.AddRange(reaction.InputReactions);
            }
            return(reaction);
        }