diff --git a/docs/src/progress/renderertodo.md b/docs/src/progress/renderertodo.md index efd5f090..f1b4b329 100644 --- a/docs/src/progress/renderertodo.md +++ b/docs/src/progress/renderertodo.md @@ -1756,6 +1756,7 @@ Fix target inventory window clearing Non-ideal implementation of multiple inventory windows drawing at once Inventory packet for unified item transform requests from client Server inventory utility for unified item transform requests +Toolbar ui uses unified item transfer flow diff --git a/src/main/java/electrosphere/client/ui/components/NaturalInventoryPanel.java b/src/main/java/electrosphere/client/ui/components/NaturalInventoryPanel.java index 948197e8..4005704d 100644 --- a/src/main/java/electrosphere/client/ui/components/NaturalInventoryPanel.java +++ b/src/main/java/electrosphere/client/ui/components/NaturalInventoryPanel.java @@ -140,19 +140,6 @@ public class NaturalInventoryPanel { Globals.clientSceneWrapper.mapClientToServerId(Globals.draggedItem.getId()) ); Globals.clientConnection.queueOutgoingMessage(requestPickupMessage); - // if(Globals.dragSourceInventory instanceof RelationalInventoryState){ - // if(Globals.dragSourceInventory == InventoryUtils.getToolbarInventory(entity)){ - // InventoryUtils.clientAddToNatural(Globals.draggedItem); - // } else if(Globals.dragSourceInventory == InventoryUtils.getEquipInventory(entity)){ - // RelationalInventoryState equipInventory = InventoryUtils.getEquipInventory(entity); - // ClientEquipState equipState = ClientEquipState.getEquipState(entity); - // equipState.commandAttemptUnequip(equipInventory.getItemSlot(Globals.draggedItem)); - // } - // } else if(Globals.dragSourceInventory instanceof UnrelationalInventoryState){ - // if(ItemUtils.getContainingParent(Globals.draggedItem) != Globals.playerEntity){ - // throw new UnsupportedOperationException("Unimplemented!"); - // } - // } }); } panelContainer.addChild(panel); diff --git a/src/main/java/electrosphere/client/ui/components/ToolbarInventoryPanel.java b/src/main/java/electrosphere/client/ui/components/ToolbarInventoryPanel.java index 3b685937..6a585f67 100644 --- a/src/main/java/electrosphere/client/ui/components/ToolbarInventoryPanel.java +++ b/src/main/java/electrosphere/client/ui/components/ToolbarInventoryPanel.java @@ -17,6 +17,9 @@ import electrosphere.entity.state.inventory.RelationalInventoryState; import electrosphere.entity.state.inventory.UnrelationalInventoryState; import electrosphere.entity.types.item.ItemUtils; import electrosphere.logger.LoggerInterface; +import electrosphere.net.parser.net.message.InventoryMessage; +import electrosphere.net.parser.net.message.NetworkMessage; +import electrosphere.net.server.protocol.InventoryProtocol; import electrosphere.renderer.ui.elements.Div; import electrosphere.renderer.ui.elements.Label; import electrosphere.renderer.ui.elements.Panel; @@ -142,22 +145,13 @@ public class ToolbarInventoryPanel { } else { int slotId = i; panel = ItemIconPanel.createEmptyItemPanel(() -> { - if(Globals.dragSourceInventory instanceof RelationalInventoryState){ - if(Globals.dragSourceInventory == InventoryUtils.getToolbarInventory(Globals.playerEntity)){ - ClientToolbarState clientToolbarState = ClientToolbarState.getClientToolbarState(entity); - clientToolbarState.attemptAddToToolbar(Globals.draggedItem, slotId); - } else if(Globals.dragSourceInventory == InventoryUtils.getEquipInventory(Globals.playerEntity)){ - ClientToolbarState clientToolbarState = ClientToolbarState.getClientToolbarState(entity); - clientToolbarState.attemptAddToToolbar(Globals.draggedItem, slotId); - } - } else if(Globals.dragSourceInventory instanceof UnrelationalInventoryState){ - if(ItemUtils.getContainingParent(Globals.draggedItem) != Globals.playerEntity){ - throw new UnsupportedOperationException("Unimplemented!"); - } else if(Globals.dragSourceInventory == InventoryUtils.getNaturalInventory(Globals.playerEntity)){ - ClientToolbarState clientToolbarState = ClientToolbarState.getClientToolbarState(entity); - clientToolbarState.attemptAddToToolbar(Globals.draggedItem, slotId); - } - } + NetworkMessage requestPickupMessage = InventoryMessage.constructclientRequestStoreItemMessage( + Globals.clientSceneWrapper.mapClientToServerId(entity.getId()), + InventoryProtocol.INVENTORY_TYPE_TOOLBAR, + slotId + "", + Globals.clientSceneWrapper.mapClientToServerId(Globals.draggedItem.getId()) + ); + Globals.clientConnection.queueOutgoingMessage(requestPickupMessage); }); }