ShmupWorld: pad screen bounds for reaping objects
This commit is contained in:
parent
0f5f7b84f7
commit
b5853828bd
@ -89,15 +89,19 @@ namespace SemiColinGames {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void Update(float modelTime, History<Input> input) {
|
public void Update(float modelTime, History<Input> input) {
|
||||||
|
// Update player & shots.
|
||||||
ProfilingList<Shot> newPlayerShots = Player.Update(modelTime, input, Bounds);
|
ProfilingList<Shot> newPlayerShots = Player.Update(modelTime, input, Bounds);
|
||||||
|
|
||||||
foreach (Shot shot in Shots) {
|
foreach (Shot shot in Shots) {
|
||||||
shot.Update(modelTime);
|
shot.Update(modelTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add new shots.
|
||||||
Shots.AddRange(newPlayerShots);
|
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);
|
Debug.AddToast("shots: " + Shots.Count);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user