Added ServerItemManager which will handle item wrapper entity creation/deletion

This commit is contained in:
Collin Smith 2020-06-05 13:25:37 -07:00
parent 013b22a169
commit ae00373f8a
3 changed files with 26 additions and 8 deletions

View File

@ -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) {

View File

@ -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);
}
}

View File

@ -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()