From 65812af57a86bef6bfc82bf538a7a2de27eecfc5 Mon Sep 17 00:00:00 2001 From: Phillip Date: Tue, 15 Mar 2011 23:29:59 +0000 Subject: Added failsafe remove in CollidableObject and World classes. Increased the mass of the tank in TankMenuItem ModifyableParticle now spawns 20 DyingParticles when it collides with something. New Class DyingParticle, particle with a duration of 6 ticks. --- src/tesseract/World.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/tesseract/World.java') 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 itr = myObjects.iterator(); List children = new LinkedList(); - + List toRemove = new LinkedList(); 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: -- cgit v1.2.3