private void CheckForCollisions(IGameObject obj) { List<IGameObject> objectsInArea = quadtree.Query(obj.Rectangle); IGeometricShape geometricShape = obj.GetGeometricShape(); foreach (IGameObject gameObject in objectsInArea) { if (gameObject == obj) continue; List<Vector2D> temp = null; if (geometricShape.Intersects(gameObject.GetGeometricShape(), out temp)) { collisionArguments[obj].Add(gameObject, temp); } } }