DEADSOFTWARE

Add drop picking
[cavedroid.git] / core / src / ru / deadsoftware / cavecraft / game / GamePhysics.java
index c387bab3f84e816b87007acbd6b4aaa7b2bfe593..e38e3b0b3ef12e858795cb204a4d93cd9e271744 100644 (file)
@@ -1,6 +1,5 @@
 package ru.deadsoftware.cavecraft.game;
 
-import com.badlogic.gdx.Gdx;
 import com.badlogic.gdx.math.Intersector;
 import com.badlogic.gdx.math.MathUtils;
 import com.badlogic.gdx.math.Rectangle;
@@ -181,16 +180,22 @@ public class GamePhysics {
 }
 
     public void update(float delta) {
-        for (Drop drop : gameProc.drops) dropPhy(drop);
-        for (Mob mob : gameProc.mobs) {
-            mob.ai();
-            mobPhy(mob);
+        for (Iterator<Drop> it = gameProc.drops.iterator(); it.hasNext(); ) {
+            Drop drop = it.next();
+            dropPhy(drop);
+            if (Intersector.overlaps(drop.getRect(), gameProc.player.getRect()))
+                drop.pickUpDrop(gameProc.player);
+            if (drop.pickedUp) it.remove();
         }
+
         for (Iterator<Mob> it = gameProc.mobs.iterator(); it.hasNext();) {
-            Mob m = it.next();
-            if (m.dead)
+            Mob mob = it.next();
+            mob.ai();
+            mobPhy(mob);
+            if (mob.dead)
                 it.remove();
         }
+
         playerPhy(gameProc.player);
 
         gameProc.renderer.camera.position.set(