From f90bb5b54207f4c667f05b6c044fa0cabc9f86d1 Mon Sep 17 00:00:00 2001 From: MEEPofFaith <54301439+MEEPofFaith@users.noreply.github.com> Date: Fri, 30 Sep 2022 12:04:36 -0700 Subject: [PATCH] Fix tree branch overlap (#7641) --- core/src/mindustry/ui/layout/BranchTreeLayout.java | 2 +- core/src/mindustry/ui/layout/TreeLayout.java | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/core/src/mindustry/ui/layout/BranchTreeLayout.java b/core/src/mindustry/ui/layout/BranchTreeLayout.java index 9c598086cd..c5f94a01a9 100644 --- a/core/src/mindustry/ui/layout/BranchTreeLayout.java +++ b/core/src/mindustry/ui/layout/BranchTreeLayout.java @@ -26,7 +26,7 @@ public class BranchTreeLayout implements TreeLayout{ } private float getWidthOrHeightOfNode(TreeNode treeNode, boolean returnWidth){ - return returnWidth ? treeNode.width : treeNode.height; + return returnWidth ? treeNode.calcWidth() : treeNode.height; } private float getNodeThickness(TreeNode treeNode){ diff --git a/core/src/mindustry/ui/layout/TreeLayout.java b/core/src/mindustry/ui/layout/TreeLayout.java index 1a44ee708c..6de2442bcf 100644 --- a/core/src/mindustry/ui/layout/TreeLayout.java +++ b/core/src/mindustry/ui/layout/TreeLayout.java @@ -18,5 +18,15 @@ public interface TreeLayout{ public boolean isLeaf(){ return children == null || children.length == 0; } + + public float calcWidth(){ + if(children == null) return width; + + float cWidth = 0; + for(T node : children){ + cWidth += node.calcWidth(); + } + return Math.max(width, cWidth); + } } }