Exemplo n.º 1
0
        private static Types.MyAssetHierarchy BuildHierarchy(int rootCount, int depth, int childPerPart)
        {
            var asset = new Types.MyAssetHierarchy();
            var guid  = 0;

            for (var i = 0; i < rootCount; ++i)
            {
                var rootPart = BuildPart(asset, $"Part{i + 1}", depth - 1, childPerPart, ref guid);
                asset.Hierarchy.RootParts.Add(rootPart.Part);
            }
            return(asset);
        }
Exemplo n.º 2
0
        private static Types.MyPartDesign BuildPart(Types.MyAssetHierarchy asset, string name, int depth, int childPerPart, ref int guidCount)
        {
            var part = new Types.MyPartDesign {
                Part = new Types.MyPart {
                    Id = GuidGenerator.Get(++guidCount), Name = name
                }
            };

            asset.Hierarchy.Parts.Add(part);
            if (depth <= 0)
            {
                return(part);
            }

            for (var i = 0; i < childPerPart; ++i)
            {
                var child = BuildPart(asset, name + $"-{i + 1}", depth - 1, childPerPart, ref guidCount);
                part.Part.AddChild(child.Part);
            }
            return(part);
        }