From 5e63d32268d3f740de5eda4e1767993b60278068 Mon Sep 17 00:00:00 2001 From: naninunenoy Date: Thu, 26 Nov 2020 23:25:03 +0900 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E7=B6=9A=E6=95=B0=E3=82=92=E6=95=B4?= =?UTF-8?q?=E5=88=97=E3=81=AB=E5=8A=A0=E5=91=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Editor/DependencyNode/Sort/AlignSortStrategy.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Sort/AlignSortStrategy.cs b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Sort/AlignSortStrategy.cs index 0f28d49..663bbca 100644 --- a/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Sort/AlignSortStrategy.cs +++ b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Sort/AlignSortStrategy.cs @@ -44,6 +44,15 @@ namespace AsmdefHelper.DependencyGraph.Editor.DependencyNode.Sort { } } + // 接続数に応じて左右に移動させる + // ref to が多いものが左に、ref by が多いものが右に + const float factor = 60.0F; + foreach (var dep in nodeArr) { + var score = (dep.Sources.Count - dep.Destinations.Count) * factor; + var p = posDict[dep.Profile]; + posDict[dep.Profile] = new Vector2(p.x + score, p.y); + } + return posDict.Select(x => new SortedNode { Profile = x.Key, Position = x.Value }); } }