|
|
@ -42,46 +42,47 @@ public enum ForgeManager implements Runnable { |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
try { |
|
|
|
workOrder = forge.take(); |
|
|
|
workOrder = forge.take(); |
|
|
|
} catch (Exception e) { |
|
|
|
|
|
|
|
Logger.error(e); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (workOrder.total_produced >= workOrder.total_to_produce) { |
|
|
|
if (workOrder.total_produced >= workOrder.total_to_produce) { |
|
|
|
|
|
|
|
|
|
|
|
// Complete this workOrder.
|
|
|
|
// Complete this workOrder.
|
|
|
|
|
|
|
|
|
|
|
|
for (Item workOrderItem : workOrder.cooking) { |
|
|
|
for (Item workOrderItem : workOrder.cooking) { |
|
|
|
workOrderItem.flags.add(mbEnums.ItemFlags.Identified); |
|
|
|
workOrderItem.flags.add(mbEnums.ItemFlags.Identified); |
|
|
|
ItemProductionMsg outMsg = new ItemProductionMsg(workOrder.vendor.building, workOrder.vendor, workOrderItem, mbEnums.ProductionActionType.CONFIRM_PRODUCE, true); |
|
|
|
ItemProductionMsg outMsg = new ItemProductionMsg(workOrder.vendor.building, workOrder.vendor, workOrderItem, mbEnums.ProductionActionType.CONFIRM_PRODUCE, true); |
|
|
|
DispatchMessage.dispatchMsgToInterestArea(workOrder.vendor, outMsg, mbEnums.DispatchChannel.SECONDARY, 700, false, false); |
|
|
|
DispatchMessage.dispatchMsgToInterestArea(workOrder.vendor, outMsg, mbEnums.DispatchChannel.SECONDARY, 700, false, false); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
workOrder.runCompleted = true; |
|
|
|
workOrder.runCompleted = true; |
|
|
|
|
|
|
|
|
|
|
|
// Update workorder to disk
|
|
|
|
// Update workorder to disk
|
|
|
|
|
|
|
|
|
|
|
|
DbManager.WarehouseQueries.UPDATE_WORKORDER(workOrder); |
|
|
|
DbManager.WarehouseQueries.UPDATE_WORKORDER(workOrder); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (workOrder.runCompleted) |
|
|
|
if (workOrder.runCompleted) |
|
|
|
continue; |
|
|
|
continue; |
|
|
|
|
|
|
|
|
|
|
|
// Move current cooking batch to vendor inventory
|
|
|
|
// Move current cooking batch to vendor inventory
|
|
|
|
|
|
|
|
|
|
|
|
completeWorkOrderBatch(workOrder); |
|
|
|
completeWorkOrderBatch(workOrder); |
|
|
|
|
|
|
|
|
|
|
|
// Create new set of in-memory only virtual items
|
|
|
|
// Create new set of in-memory only virtual items
|
|
|
|
|
|
|
|
|
|
|
|
forgeWorkOrderBatch(workOrder); |
|
|
|
forgeWorkOrderBatch(workOrder); |
|
|
|
|
|
|
|
|
|
|
|
// enQueue this workOrder again; back into the oven
|
|
|
|
// enQueue this workOrder again; back into the oven
|
|
|
|
// until all items for this workOrder are completed.
|
|
|
|
// until all items for this workOrder are completed.
|
|
|
|
|
|
|
|
|
|
|
|
forge.add(workOrder); |
|
|
|
forge.add(workOrder); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Debugging
|
|
|
|
|
|
|
|
|
|
|
|
// Debugging
|
|
|
|
Logger.info(workOrder.toString()); |
|
|
|
|
|
|
|
|
|
|
|
Logger.info(workOrder.toString()); |
|
|
|
} catch (Exception e) { |
|
|
|
|
|
|
|
Logger.error(e); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|