refactored out collection

This commit is contained in:
2024-04-19 09:03:35 -04:00
parent dbd4c5d246
commit 18587e281f
4 changed files with 4 additions and 12 deletions
-4
View File
@@ -35,7 +35,6 @@ public enum ForgeManager implements Runnable {
private static final BlockingQueue<WorkOrder> forge = new DelayQueue<>();
public static final AtomicInteger wordOrderCounter = new AtomicInteger(0);
public static final HashMap<Integer, Item> inMemoryItemLookup = new HashMap<>();
public static final HashMap<NPC, ArrayList<Item>> vendorItemLookup = new HashMap<>();
public static final HashMap<NPC, ArrayList<WorkOrder>> vendorWorkOrderLookup = new HashMap<>();
public static final HashMap<Item, WorkOrder> itemWorkOrderLookup = new HashMap<>();
@@ -356,7 +355,6 @@ public enum ForgeManager implements Runnable {
DispatchMessage.dispatchMsgToInterestArea(workOrder.vendor, outMsg, mbEnums.DispatchChannel.SECONDARY, 700, false, false);
workOrder.cooking.remove(memoryItem);
vendorItemLookup.get(workOrder.vendor).remove(memoryItem);
itemWorkOrderLookup.remove(memoryItem);
}
}
@@ -375,8 +373,6 @@ public enum ForgeManager implements Runnable {
workOrder.cooking.add(forged_item);
inMemoryItemLookup.put(forged_item.objectUUID, forged_item);
vendorItemLookup.computeIfAbsent(workOrder.vendor, k -> new ArrayList<>());
vendorItemLookup.get(workOrder.vendor).add(forged_item);
vendorWorkOrderLookup.get(workOrder.vendor).add(workOrder);
itemWorkOrderLookup.put(forged_item, workOrder);
@@ -147,7 +147,6 @@ public class ItemProductionMsgHandler extends AbstractClientMsgHandler {
DispatchMessage.dispatchMsgToInterestArea(vendor, outMsg, mbEnums.DispatchChannel.SECONDARY, 700, false, false);
workOrder.cooking.remove(virtualItem);
ForgeManager.vendorItemLookup.get(workOrder.vendor).remove(virtualItem);
ForgeManager.itemWorkOrderLookup.remove(virtualItem);
@@ -368,7 +367,6 @@ public class ItemProductionMsgHandler extends AbstractClientMsgHandler {
ForgeManager.inMemoryItemLookup.remove(targetItem.objectUUID);
WorkOrder workOrder = ForgeManager.itemWorkOrderLookup.get(targetItem);
workOrder.cooking.remove(targetItem);
ForgeManager.vendorItemLookup.get(workOrder.vendor).remove(targetItem);
// Refresh vendor's inventory to client
+3 -3
View File
@@ -9,7 +9,6 @@
package engine.net.client.msg;
import engine.gameManager.ForgeManager;
import engine.gameManager.NPCManager;
import engine.gameManager.PowersManager;
import engine.mbEnums.GameObjectType;
@@ -434,9 +433,10 @@ public class ManageNPCMsg extends ClientNetMsg {
writer.put((byte) template.modTable);//EffectItemType
}
writer.putInt(ForgeManager.vendorItemLookup.get(npc).size());
ArrayList<Item> cooking = NPCManager.getAllCookingForVendor(npc);
writer.putInt(cooking.size());
for (Item item : ForgeManager.vendorItemLookup.get(npc)) {
for (Item item : cooking) {
writer.put((byte) 0); // ? Unknown45
writer.putInt(item.getObjectType().ordinal());
+1 -3
View File
@@ -871,10 +871,8 @@ public class NPC extends AbstractCharacter {
// If NPC is a vendor then configure ForgeManager support
if (this.contract.isTrainer() == false) {
ForgeManager.vendorItemLookup.computeIfAbsent(this, k -> new ArrayList<>()); // Forge lookup
if (this.contract.isTrainer() == false)
ForgeManager.vendorWorkOrderLookup.computeIfAbsent(this, k -> new ArrayList<>());
}
this.symbol = this.contract.getIconID();
this.modTypeTable = this.contract.getNPCModTypeTable();