|
|
|
@ -28,6 +28,15 @@ import java.util.concurrent.atomic.AtomicInteger;
@@ -28,6 +28,15 @@ import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
|
|
|
|
|
|
public enum ForgeManager implements Runnable { |
|
|
|
|
|
|
|
|
|
// MB Dev notes:
|
|
|
|
|
// Class handles all forge rolling requests for the game.
|
|
|
|
|
//
|
|
|
|
|
// WorkOrders may be submitted from any thread: usually (ItemProductionMsgHandler)
|
|
|
|
|
// as concurrency is managed by the same lock used by the warehouse (city.cityTransactionLock)
|
|
|
|
|
// WorkOrders are persisted then reconstituted at bootstrap from table dyn.workorders
|
|
|
|
|
//
|
|
|
|
|
// p.s. this class replaces garbage that looked like it was written by a crack head.
|
|
|
|
|
|
|
|
|
|
FORGE_MANAGER; |
|
|
|
|
|
|
|
|
|
public static final BlockingQueue<WorkOrder> forge = new DelayQueue<>(); |
|
|
|
@ -39,7 +48,7 @@ public enum ForgeManager implements Runnable {
@@ -39,7 +48,7 @@ public enum ForgeManager implements Runnable {
|
|
|
|
|
|
|
|
|
|
public void run() { |
|
|
|
|
|
|
|
|
|
WorkOrder workOrder = null; |
|
|
|
|
WorkOrder workOrder; |
|
|
|
|
|
|
|
|
|
while (true) { |
|
|
|
|
|
|
|
|
@ -363,7 +372,7 @@ public enum ForgeManager implements Runnable {
@@ -363,7 +372,7 @@ public enum ForgeManager implements Runnable {
|
|
|
|
|
|
|
|
|
|
int modifier = 0; |
|
|
|
|
ModTypeTableEntry modTypeTableEntry = null; |
|
|
|
|
ModTableEntry modTableEntry = null; |
|
|
|
|
ModTableEntry modTableEntry; |
|
|
|
|
int rollForModifier; |
|
|
|
|
|
|
|
|
|
switch (itemModType) { |
|
|
|
|