diff --git a/data.mv.db b/data.mv.db index 9ae0793..408d1a5 100644 Binary files a/data.mv.db and b/data.mv.db differ diff --git a/maps/551e1afc-9cda-4d9f-8817-bfd831fc0a75.dat b/maps/551e1afc-9cda-4d9f-8817-bfd831fc0a75.dat index 10cfd19..1915183 100644 Binary files a/maps/551e1afc-9cda-4d9f-8817-bfd831fc0a75.dat and b/maps/551e1afc-9cda-4d9f-8817-bfd831fc0a75.dat differ diff --git a/src/main/java/com/bartlomiejpluta/demo/entity/Player.java b/src/main/java/com/bartlomiejpluta/demo/entity/Player.java index 1f0639c..e8460c7 100644 --- a/src/main/java/com/bartlomiejpluta/demo/entity/Player.java +++ b/src/main/java/com/bartlomiejpluta/demo/entity/Player.java @@ -1,10 +1,12 @@ package com.bartlomiejpluta.demo.entity; import com.bartlomiejpluta.base.api.character.Character; +import com.bartlomiejpluta.demo.world.item.Item; import lombok.NonNull; import org.joml.Vector2i; public class Player extends Creature { + private final Item[] equipment = new Item[4 * 4]; public Player(@NonNull Character entity) { super(entity); @@ -14,13 +16,35 @@ public class Player extends Creature { public void interact() { var coords = getCoordinates().add(getFaceDirection().vector, new Vector2i()); - for (var entity : getLayer().getEntities()) { - if (entity.getCoordinates().equals(coords) && entity instanceof MapObject) { - ((MapObject) entity).interact(this); + var entities = getLayer().getEntities(); + for (var i=0; i< entities.size(); ++i) { + var entity = entities.get(i); + + if (entity.getCoordinates().equals(coords) && entity instanceof MapObject object) { + object.interact(this); + return; + } + + if (entity.getCoordinates().equals(getCoordinates()) && entity instanceof Item item) { + pushItemToEquipment(item); + getLayer().removeEntity(item); } } } + private void pushItemToEquipment(@NonNull Item item) { + for(int i=0; iEquipment - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + +