public static void DrawPathNodeRec(float px, float py, PathNode node, ITypeColorProvider colorProvider) { DrawPathSegment(node.PosX + px, node.PosY + py, node); foreach (PathNode child in node.Children) { DrawPathNodeRec(px, py, child, colorProvider); AssetRelationsViewerWindow.DrawConnection(node.PosX + px + node.TextLength, node.PosY + py, child.PosX + px, child.PosY + py, colorProvider.GetConnectionColorForType(child.DependencyType)); } }
private void DrawPathNodeConnections(PathNode rootNode, HashSet <PathNode> targetNodes, ITypeColorProvider colorProvider, float yOffset) { foreach (PathNode tn in targetNodes) { Color color = colorProvider.GetConnectionColorForType(tn.DependencyType); int offset = -32; int endX = PosX + Bounds.Width; AssetRelationsViewerWindow.DrawConnection(tn.PosX + tn.Width + PosX - 16, tn.PosY + PosY + yOffset, endX + offset, tn.PosY + PosY + yOffset, color); AssetRelationsViewerWindow.DrawConnection(endX + offset, tn.PosY + PosY + yOffset, endX, rootNode.PosY + PosY + yOffset, color); } }