diff --git a/core/src/ru/deadsoftware/cavedroid/game/GamePhysics.java b/core/src/ru/deadsoftware/cavedroid/game/GamePhysics.java
index aebf8eb654eb03b7865162b6ec721557c1eddb5c..cece8e2c625ebe9e8823f9a5b347f063e5485e4b 100644 (file)
import ru.deadsoftware.cavedroid.game.mobs.MobsController;
import ru.deadsoftware.cavedroid.game.mobs.player.Player;
import ru.deadsoftware.cavedroid.game.model.block.Block;
+import ru.deadsoftware.cavedroid.game.model.item.InventoryItem;
import ru.deadsoftware.cavedroid.game.objects.drop.Drop;
import ru.deadsoftware.cavedroid.game.objects.drop.DropController;
import ru.deadsoftware.cavedroid.game.world.GameWorld;
private Rectangle getShiftedMagnetingPlayerRect(Drop drop) {
final Player player = mMobsController.getPlayer();
- if (!player.inventory.canPickItem(drop.getItem())) {
+ if (!player.inventory.canPickItem(drop)) {
return null;
}
for (Iterator<Mob> it = mMobsController.getMobs().iterator(); it.hasNext(); ) {
Mob mob = it.next();
- mob.ai(mGameWorld, mGameItemsHolder, delta);
+ mob.ai(mGameWorld, mGameItemsHolder, mMobsController, delta);
mobPhy(mob, delta);
if (mob.isDead()) {
+ for (InventoryItem invItem : mob.getDrop(mGameItemsHolder)) {
+ mDropController.addDrop(mob.x, mob.y, invItem);
+ }
+
it.remove();
}
}
playerPhy(player, delta);
- player.ai(mGameWorld, mGameItemsHolder, delta);
+ player.ai(mGameWorld, mGameItemsHolder, mMobsController, delta);
if (player.isDead()) {
+ for (InventoryItem invItem : player.inventory.getItems()) {
+ mDropController.addDrop(player.x, player.y, invItem);
+ }
+ player.inventory.clear();
player.respawn(mGameWorld, mGameItemsHolder);
}
}