diff --git a/Shared/ShmupWorld.cs b/Shared/ShmupWorld.cs
index 8045f94..a2c124b 100644
--- a/Shared/ShmupWorld.cs
+++ b/Shared/ShmupWorld.cs
@@ -89,15 +89,19 @@ namespace SemiColinGames {
}
public void Update(float modelTime, History input) {
+ // Update player & shots.
ProfilingList newPlayerShots = Player.Update(modelTime, input, Bounds);
-
foreach (Shot shot in Shots) {
shot.Update(modelTime);
}
+ // Add new shots.
Shots.AddRange(newPlayerShots);
- // TODO: inflate bounds rectangle
- Shots.RemoveAll(shot => !Bounds.Intersects(shot.Bounds));
+
+ // Reap off-screen objects.
+ Rectangle paddedBounds = Bounds;
+ paddedBounds.Inflate(16, 16);
+ Shots.RemoveAll(shot => !paddedBounds.Intersects(shot.Bounds));
Debug.AddToast("shots: " + Shots.Count);
}