public List <RectangleF> FindRecWithVector(Vector2 vec) { List <RectangleF> rectangles = new List <RectangleF>(); if (HasChilds == true) { if (CompareF.RectangleVsVector2NotEq(LeftBottom.Boundary, vec) == true) { rectangles.AddRange(LeftBottom.FindRecWithVector(vec)); } if (CompareF.RectangleVsVector2NotEq(LeftTop.Boundary, vec) == true) { rectangles.AddRange(LeftTop.FindRecWithVector(vec)); } if (CompareF.RectangleVsVector2NotEq(RightBottom.Boundary, vec) == true) { rectangles.AddRange(RightBottom.FindRecWithVector(vec)); } if (CompareF.RectangleVsVector2NotEq(RightTop.Boundary, vec) == true) { rectangles.AddRange(RightTop.FindRecWithVector(vec)); } return(rectangles); } else { if (LevelSize == QuadTreeSizes.Size_32 && Holder != null && CompareF.RectangleVsVector2NotEq(vec, Boundary) == true) { rectangles.Add(Holder); return(rectangles); } return(rectangles); } }