summaryrefslogtreecommitdiff
path: root/src/tesseract/World.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/tesseract/World.java')
-rw-r--r--src/tesseract/World.java9
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: