diff --git a/core/src/com/riiablo/engine/server/ItemManager.java b/core/src/com/riiablo/engine/server/ItemManager.java index 4439aeea..bd1be587 100644 --- a/core/src/com/riiablo/engine/server/ItemManager.java +++ b/core/src/com/riiablo/engine/server/ItemManager.java @@ -2,7 +2,6 @@ package com.riiablo.engine.server; import com.artemis.ComponentMapper; import com.artemis.annotations.Wire; -import com.badlogic.gdx.math.Vector2; import com.riiablo.engine.EntityFactory; import com.riiablo.engine.server.component.Item; import com.riiablo.engine.server.component.Player; @@ -26,17 +25,11 @@ public class ItemManager extends PassiveSystem { public void groundToCursor(int entityId, int dst) { com.riiablo.item.Item item = mItem.get(dst).item; mPlayer.get(entityId).data.groundToCursor(item); - - world.delete(dst); } public void cursorToGround(int entityId) { CharData charData = mPlayer.get(entityId).data; - com.riiablo.item.Item item = charData.getItems().getCursor(); charData.cursorToGround(); - - Vector2 position = mPosition.get(entityId).position; - factory.createItem(item, position); } public void storeToCursor(int entityId, int i) { diff --git a/core/src/com/riiablo/engine/server/ServerItemManager.java b/core/src/com/riiablo/engine/server/ServerItemManager.java new file mode 100644 index 00000000..7daafcc6 --- /dev/null +++ b/core/src/com/riiablo/engine/server/ServerItemManager.java @@ -0,0 +1,24 @@ +package com.riiablo.engine.server; + +import com.badlogic.gdx.math.Vector2; +import com.riiablo.save.CharData; + +public class ServerItemManager extends ItemManager { + private static final String TAG = "ServerItemManager"; + + @Override + public void groundToCursor(int entityId, int dst) { + super.groundToCursor(entityId, dst); + world.delete(dst); + } + + @Override + public void cursorToGround(int entityId) { + CharData charData = mPlayer.get(entityId).data; + com.riiablo.item.Item item = charData.getItems().getCursor(); + super.cursorToGround(entityId); + + Vector2 position = mPosition.get(entityId).position; + factory.createItem(item, position); + } +} diff --git a/server/d2gs/src/com/riiablo/server/d2gs/D2GS.java b/server/d2gs/src/com/riiablo/server/d2gs/D2GS.java index 0765cc91..9626a085 100644 --- a/server/d2gs/src/com/riiablo/server/d2gs/D2GS.java +++ b/server/d2gs/src/com/riiablo/server/d2gs/D2GS.java @@ -41,6 +41,7 @@ import com.riiablo.engine.server.ObjectInteractor; import com.riiablo.engine.server.Pathfinder; import com.riiablo.engine.server.SerializationManager; import com.riiablo.engine.server.ServerEntityFactory; +import com.riiablo.engine.server.ServerItemManager; import com.riiablo.engine.server.ServerNetworkIdManager; import com.riiablo.engine.server.VelocityAdder; import com.riiablo.engine.server.WarpInteractor; @@ -250,7 +251,7 @@ public class D2GS extends ApplicationAdapter { map.finishLoading(); factory = new ServerEntityFactory(); - itemManager = new ItemManager(); + itemManager = new ServerItemManager(); mapManager = new MapManager(); sync = new NetworkSynchronizer(); WorldConfigurationBuilder builder = new WorldConfigurationBuilder()