private void RenderQuadTree <T>(Vector2IntQuadTree <T> tree) { Debug.DrawLine(new Vector2(tree.Min.x, tree.Max.y), new Vector2(tree.Max.x, tree.Max.y), tree.Depth % 2 == 0 ? Color.red : Color.green); Debug.DrawLine(new Vector2(tree.Max.x, tree.Max.y), new Vector2(tree.Max.x, tree.Min.y), tree.Depth % 2 == 0 ? Color.red : Color.green); if (tree.Quadrants != null) { for (int i = 0; i < tree.Quadrants.Length; i++) { if (tree.Quadrants[i] != null) { RenderQuadTree(tree.Quadrants[i]); } } } }
protected override void Awake() { base.Awake(); _quadTree = new Vector2IntQuadTree <QuadTreeEntity>(Vector2Int.one * -512, Vector2Int.one * 512); }