private void UpdateBroadPhase() { if (_broadPhase == null) { return; } // Mark intra-overlaps of static partition. AddOrMarkAsUsed(StaticPartition.GetOverlaps()); // Mark intra-overlaps of dynamic partition. AddOrMarkAsUsed(DynamicPartition.GetOverlaps()); // Mark inter-overlaps between static and dynamic partition. AddOrMarkAsUsed(StaticPartition.GetOverlaps(DynamicPartition)); // Remove all unused candidate pairs from broad phase. _broadPhase.RemoveUnused(); }