private void GetBodies(Rect rect, List <IQuadTreeBody> bods) { //no children if (_childA == null) { for (int i = 0; i < _bodies.Count; i++) { bods.Add(_bodies[i]); } } else { if (_childA.ContainsRect(rect)) { _childA.GetBodies(rect, bods); } if (_childB.ContainsRect(rect)) { _childB.GetBodies(rect, bods); } if (_childC.ContainsRect(rect)) { _childC.GetBodies(rect, bods); } if (_childD.ContainsRect(rect)) { _childD.GetBodies(rect, bods); } } }