Beispiel #1
0
        private static void RecursiveBuild(int parentStreamNum, BaseAssemblyNodeFactory parentNode, IDictionary <Int32, int[]> streamsJoinedPerStream, bool[] isRequiredPerStream)
        {
            int numStreams = streamsJoinedPerStream.Count;

            for (int i = 0; i < streamsJoinedPerStream[parentStreamNum].Length; i++)
            {
                int streamJoined = streamsJoinedPerStream[parentStreamNum][i];
                BaseAssemblyNodeFactory childNode = CreateNode(
                    false,
                    streamJoined,
                    numStreams,
                    streamsJoinedPerStream[streamJoined],
                    isRequiredPerStream);
                parentNode.AddChild(childNode);

                if (streamsJoinedPerStream[streamJoined].Length > 0)
                {
                    RecursiveBuild(streamJoined, childNode, streamsJoinedPerStream, isRequiredPerStream);
                }
            }
        }