More completion work

This commit is contained in:
2024-04-17 12:36:23 -04:00
parent 1a27a54926
commit f9825900cc
@@ -107,24 +107,7 @@ public class ItemProductionMsgHandler extends AbstractClientMsgHandler {
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY); DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
break; break;
case COMPLETE: case COMPLETE:
Item virtualItem = ForgeManager.inMemoryItemLookup.get(msg.itemUUID); completeItem(msg.itemUUID, vendor, origin);
if (virtualItem == null)
return true;
//remove from client forge window
ItemProductionMsg outMsg = new ItemProductionMsg(vendor.building, vendor, virtualItem, mbEnums.ProductionActionType.SETPRICE, true);
DispatchMessage.dispatchMsgToInterestArea(vendor, outMsg, mbEnums.DispatchChannel.SECONDARY, 700, false, false);
ItemProductionMsg outMsg1 = new ItemProductionMsg(vendor.building, vendor, virtualItem, mbEnums.ProductionActionType.CONFIRM_DEPOSIT, true);
DispatchMessage.dispatchMsgToInterestArea(vendor, outMsg1, mbEnums.DispatchChannel.SECONDARY, 700, false, false);
// Add to NPC inventory
vendor.charItemManager.addItemToInventory(virtualItem);
ForgeManager.vendorItemLookup.get(vendor).remove(virtualItem);
ForgeManager.itemWorkOrderLookup.remove(virtualItem);
break; break;
case DEPOSIT: case DEPOSIT:
depositItem(msg.itemUUID, vendor, origin); depositItem(msg.itemUUID, vendor, origin);
@@ -141,6 +124,29 @@ public class ItemProductionMsgHandler extends AbstractClientMsgHandler {
return true; return true;
} }
private static void completeItem(int itemUUID, NPC vendor, ClientConnection origin) {
Item virtualItem = ForgeManager.inMemoryItemLookup.get(itemUUID);
if (virtualItem == null)
return;
//remove from client forge window
ItemProductionMsg outMsg = new ItemProductionMsg(vendor.building, vendor, virtualItem, mbEnums.ProductionActionType.SETPRICE, true);
DispatchMessage.dispatchMsgToInterestArea(vendor, outMsg, mbEnums.DispatchChannel.SECONDARY, 700, false, false);
ItemProductionMsg outMsg1 = new ItemProductionMsg(vendor.building, vendor, virtualItem, mbEnums.ProductionActionType.CONFIRM_DEPOSIT, true);
DispatchMessage.dispatchMsgToInterestArea(vendor, outMsg1, mbEnums.DispatchChannel.SECONDARY, 700, false, false);
// Add to NPC inventory
vendor.charItemManager.addItemToInventory(virtualItem);
ForgeManager.vendorItemLookup.get(vendor).remove(virtualItem);
ForgeManager.itemWorkOrderLookup.remove(virtualItem);
}
private static void setItemPrice(int itemType, int itemUUID, int itemPrice, NPC vendor, ClientConnection origin) { private static void setItemPrice(int itemType, int itemUUID, int itemPrice, NPC vendor, ClientConnection origin) {
Item targetItem; Item targetItem;