Locked resources are always unavailable.
This commit is contained in:
@@ -14,6 +14,7 @@ import engine.net.client.msg.ErrorPopupMsg;
|
|||||||
import engine.objects.Item;
|
import engine.objects.Item;
|
||||||
import engine.objects.ItemTemplate;
|
import engine.objects.ItemTemplate;
|
||||||
import engine.objects.PlayerCharacter;
|
import engine.objects.PlayerCharacter;
|
||||||
|
import engine.objects.Warehouse;
|
||||||
import engine.powers.EffectsBase;
|
import engine.powers.EffectsBase;
|
||||||
import org.pmw.tinylog.Logger;
|
import org.pmw.tinylog.Logger;
|
||||||
|
|
||||||
@@ -30,6 +31,25 @@ public enum ForgeManager implements Runnable {
|
|||||||
public static final AtomicInteger wordOrderCounter = new AtomicInteger(0);
|
public static final AtomicInteger wordOrderCounter = new AtomicInteger(0);
|
||||||
public static HashMap<Item, WorkOrder> oven = new HashMap<Item, WorkOrder>();
|
public static HashMap<Item, WorkOrder> oven = new HashMap<Item, WorkOrder>();
|
||||||
|
|
||||||
|
public static HashMap<mbEnums.ResourceType, Integer> calcWarehouseOverflow(Warehouse warehouse, HashMap<mbEnums.ResourceType, Integer> cost_map) {
|
||||||
|
|
||||||
|
// Method returns a map of resourceType that a transaction overdrafts.
|
||||||
|
|
||||||
|
HashMap<mbEnums.ResourceType, Integer> overflowMap = new HashMap<>();
|
||||||
|
|
||||||
|
for (mbEnums.ResourceType resourceType : cost_map.keySet()) {
|
||||||
|
|
||||||
|
int debit = warehouse.resources.get(resourceType) - cost_map.get(resourceType);
|
||||||
|
|
||||||
|
// Locked resources are always unavailable
|
||||||
|
|
||||||
|
if (debit < 0 || warehouse.locked.contains(resourceType))
|
||||||
|
overflowMap.put(resourceType, debit);
|
||||||
|
}
|
||||||
|
|
||||||
|
return overflowMap;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|
||||||
|
|||||||
@@ -635,22 +635,4 @@ public class Warehouse {
|
|||||||
return warehouse.locked.contains(resourceType);
|
return warehouse.locked.contains(resourceType);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static HashMap<mbEnums.ResourceType, Integer> calcOverflow(Warehouse warehouse, HashMap<mbEnums.ResourceType, Integer> cost_map) {
|
|
||||||
|
|
||||||
// Method returns a map of resourceType that a transaction overdrafts.
|
|
||||||
|
|
||||||
HashMap<mbEnums.ResourceType, Integer> overflowMap = new HashMap<>();
|
|
||||||
|
|
||||||
for (mbEnums.ResourceType resourceType : cost_map.keySet()) {
|
|
||||||
|
|
||||||
int debit = warehouse.resources.get(resourceType) - cost_map.get(resourceType);
|
|
||||||
|
|
||||||
// Locked resources are always unavailable
|
|
||||||
|
|
||||||
if (debit < 0 || warehouse.locked.contains(resourceType))
|
|
||||||
overflowMap.put(resourceType, debit);
|
|
||||||
}
|
|
||||||
|
|
||||||
return overflowMap;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user