diff options
| author | chai <215380520@qq.com> | 2024-05-19 16:05:58 +0800 |
|---|---|---|
| committer | chai <215380520@qq.com> | 2024-05-19 16:05:58 +0800 |
| commit | 8e13e7e2874adc8982e16d1d2ed2e28d7480b45f (patch) | |
| tree | 63ef85c460288891f5a593d69afeca16cba050b3 /Thronefall_1_57/Decompile/NGS.MeshFusionPro/BinaryTreeNode.cs | |
| parent | c5f145786f4c6d2fe4bea831dfc16e52228920a5 (diff) | |
+1.57
Diffstat (limited to 'Thronefall_1_57/Decompile/NGS.MeshFusionPro/BinaryTreeNode.cs')
| -rw-r--r-- | Thronefall_1_57/Decompile/NGS.MeshFusionPro/BinaryTreeNode.cs | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/Thronefall_1_57/Decompile/NGS.MeshFusionPro/BinaryTreeNode.cs b/Thronefall_1_57/Decompile/NGS.MeshFusionPro/BinaryTreeNode.cs new file mode 100644 index 0000000..4558519 --- /dev/null +++ b/Thronefall_1_57/Decompile/NGS.MeshFusionPro/BinaryTreeNode.cs @@ -0,0 +1,48 @@ +using UnityEngine; + +namespace NGS.MeshFusionPro; + +public abstract class BinaryTreeNode<TData> : IBinaryTreeNode +{ + public BinaryTreeNode<TData> Left { get; private set; } + + public BinaryTreeNode<TData> Right { get; private set; } + + public bool IsLeaf { get; private set; } + + public bool HasChilds => Left != null; + + public Vector3 Center { get; private set; } + + public Vector3 Size { get; private set; } + + public Bounds Bounds { get; private set; } + + public BinaryTreeNode(Vector3 center, Vector3 size, bool isLeaf) + { + Center = center; + Size = size; + Bounds = new Bounds(center, size); + IsLeaf = isLeaf; + } + + public IBinaryTreeNode GetLeft() + { + return Left; + } + + public IBinaryTreeNode GetRight() + { + return Right; + } + + public void SetChilds(BinaryTreeNode<TData> left, BinaryTreeNode<TData> right) + { + Left = left; + Right = right; + } + + public abstract void Add(TData data); + + public abstract void Remove(TData data); +} |
