Begin adding workOrder logic

This commit is contained in:
2024-04-07 22:15:06 -04:00
parent ec5a8f5281
commit d539e419fe
3 changed files with 14 additions and 7 deletions
+8 -3
View File
@@ -18,7 +18,7 @@ public enum ForgeManager implements Runnable {
FORGE_MANAGER;
private final BlockingQueue<WorkOrder> workOrders = new DelayQueue();
private static final BlockingQueue<WorkOrder> workOrders = new DelayQueue();
public static final AtomicInteger wordOrderCounter = new AtomicInteger(0);
@Override
@@ -60,8 +60,13 @@ public enum ForgeManager implements Runnable {
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void submit(WorkOrder workOrder) {
workOrder.workOrderID = wordOrderCounter.incrementAndGet();
workOrder.completionTime = System.currentTimeMillis() + 10000;
workOrders.add(workOrder);
}
}
+1 -4
View File
@@ -8,7 +8,6 @@
package engine.loot;
import engine.gameManager.ForgeManager;
import engine.objects.NPC;
import org.jetbrains.annotations.NotNull;
@@ -19,7 +18,7 @@ import static java.lang.Math.toIntExact;
public class WorkOrder implements Delayed {
public int workOrder;
public int workOrderID;
public NPC vendor;
public int slotCount;
public int itemCount;
@@ -33,8 +32,6 @@ public class WorkOrder implements Delayed {
public WorkOrder() {
this.workOrder = ForgeManager.wordOrderCounter.incrementAndGet();
this.completionTime = System.currentTimeMillis() + 10000;
}
@Override
@@ -13,6 +13,7 @@ package engine.net.client.handlers;
import engine.exception.MsgSendException;
import engine.gameManager.ChatManager;
import engine.gameManager.DbManager;
import engine.loot.WorkOrder;
import engine.mbEnums;
import engine.mbEnums.GameObjectType;
import engine.mbEnums.ItemType;
@@ -75,6 +76,10 @@ public class ItemProductionMsgHandler extends AbstractClientMsgHandler {
if (msg.unknown03 != 0 && msg.pToken == 0 && msg.sToken == 0)
isRandom = true;
// Create new work order
WorkOrder workOrder = new WorkOrder();
//Create Multiple Item Function.. Fill all empty slots
if (msg.size > 0) {