diff --git a/src/engine/gameManager/ForgeManager.java b/src/engine/gameManager/ForgeManager.java index c5e09219..f8435ea4 100644 --- a/src/engine/gameManager/ForgeManager.java +++ b/src/engine/gameManager/ForgeManager.java @@ -32,10 +32,13 @@ public enum ForgeManager implements Runnable { // Class implements forge rolling mechanics for Magicbane. // // .submit(workOrder) may be called from any thread: (ItemProductionMsgHandler). - // Concurrency is managed by the same lock used by the warehouse (city.cityTransactionLock). + // Concurrency is managed by same lock used for warehouse (city.cityTransactionLock). // WorkOrders are persisted then reconstituted at bootstrap using table dyn.workorders. + // Forge window (ManageNPCMsg) uses item.upgradeDate to serialize completion time. // // Replaces garbage code that looked as if written by a mental patient with face boils. + // + // @TODO Reuse same set of virtual items for each workOrder cycle. FORGE_MANAGER; @@ -52,8 +55,7 @@ public enum ForgeManager implements Runnable { while (true) { - // .forge is a delayQueue (blocking priority queue using an epoc sort) - // workOrders are popped and processed when their completion time has passed. + // workOrders are popped then processed once completion time has passed. try { workOrder = forge.take();