diff options
Diffstat (limited to 'src/tesseract/World.java')
-rw-r--r-- | src/tesseract/World.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/tesseract/World.java b/src/tesseract/World.java index b2ca82a..3611806 100644 --- a/src/tesseract/World.java +++ b/src/tesseract/World.java @@ -215,10 +215,12 @@ public class World implements Observer { Iterator<PhysicalObject> itr = myObjects.iterator(); List<PhysicalObject> children = new LinkedList<PhysicalObject>(); - + List<CollidableObject> toRemove = new LinkedList<CollidableObject>(); for (int i = 0; i < myObjects.size(); i++) { CollidableObject obj = myObjects.get(i); - + if (obj.removeMe()) { + toRemove.add(obj); + } // Apply forces for (Force force : myForces) { if(!(obj instanceof Blimp)) { @@ -238,6 +240,9 @@ public class World implements Observer { } } + myObjects.removeAll(toRemove); + + /* In the "tick" method of your application, rather than call the old form of resolveCollisions to completely handle a collision, you can now: |