|
|
@ -87,7 +87,7 @@ public class WorkOrder implements Delayed { |
|
|
|
this.production_cost.put(resourceType, value); |
|
|
|
this.production_cost.put(resourceType, value); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
JSONObject productionTotalCostMap = jsonWorkOrder.getJSONObject("production_cost"); |
|
|
|
JSONObject productionTotalCostMap = jsonWorkOrder.getJSONObject("production_cost_total"); |
|
|
|
|
|
|
|
|
|
|
|
for (String key : productionTotalCostMap.keySet()) { |
|
|
|
for (String key : productionTotalCostMap.keySet()) { |
|
|
|
mbEnums.ResourceType resourceType = mbEnums.ResourceType.valueOf(key); |
|
|
|
mbEnums.ResourceType resourceType = mbEnums.ResourceType.valueOf(key); |
|
|
@ -109,37 +109,6 @@ public class WorkOrder implements Delayed { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public static JSONObject toJson(WorkOrder workOrder) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
JSONObject jsonWorkOrder = new JSONObject(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
jsonWorkOrder.put("workOrderID", workOrder.workOrderID); |
|
|
|
|
|
|
|
jsonWorkOrder.put("vendor", workOrder.vendor.getObjectUUID()); |
|
|
|
|
|
|
|
jsonWorkOrder.put("slots_used", workOrder.slots_used); |
|
|
|
|
|
|
|
jsonWorkOrder.put("total_to_produce", workOrder.total_to_produce); |
|
|
|
|
|
|
|
jsonWorkOrder.put("total_produced", workOrder.total_produced); |
|
|
|
|
|
|
|
jsonWorkOrder.put("multiple_slot_request", workOrder.multiple_slot_request); |
|
|
|
|
|
|
|
jsonWorkOrder.put("production_cost", workOrder.production_cost); |
|
|
|
|
|
|
|
jsonWorkOrder.put("production_cost_total", workOrder.production_cost_total); |
|
|
|
|
|
|
|
jsonWorkOrder.put("templateID", workOrder.templateID); |
|
|
|
|
|
|
|
jsonWorkOrder.put("item_name_override", workOrder.item_name_override); |
|
|
|
|
|
|
|
jsonWorkOrder.put("prefixToken", workOrder.prefixToken); |
|
|
|
|
|
|
|
jsonWorkOrder.put("suffixToken", workOrder.suffixToken); |
|
|
|
|
|
|
|
jsonWorkOrder.put("rollingDuration", workOrder.rollingDuration); |
|
|
|
|
|
|
|
jsonWorkOrder.put("completionTime", workOrder.completionTime); |
|
|
|
|
|
|
|
jsonWorkOrder.put("runCompleted", workOrder.runCompleted); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ArrayList<Integer[]> cookingTokens = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (Item item : workOrder.cooking) |
|
|
|
|
|
|
|
cookingTokens.add(new Integer[]{item.prefixToken, item.suffixToken}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
jsonWorkOrder.put("cookingTokens", cookingTokens); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return jsonWorkOrder; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static int validate(WorkOrder workOrder) { |
|
|
|
public static int validate(WorkOrder workOrder) { |
|
|
|
|
|
|
|
|
|
|
|
// Validate that a workOrder can be completed by both
|
|
|
|
// Validate that a workOrder can be completed by both
|
|
|
@ -188,7 +157,6 @@ public class WorkOrder implements Delayed { |
|
|
|
|
|
|
|
|
|
|
|
if (workOrder.production_cost_total.size() == 1) |
|
|
|
if (workOrder.production_cost_total.size() == 1) |
|
|
|
return true; |
|
|
|
return true; |
|
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
} else { |
|
|
|
int remainingAmount = workOrder.production_cost_total.get(mbEnums.ResourceType.GOLD) - strongbox; |
|
|
|
int remainingAmount = workOrder.production_cost_total.get(mbEnums.ResourceType.GOLD) - strongbox; |
|
|
|
workOrder.vendor.building.setStrongboxValue(0); |
|
|
|
workOrder.vendor.building.setStrongboxValue(0); |
|
|
@ -212,10 +180,8 @@ public class WorkOrder implements Delayed { |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public long getDelay(TimeUnit unit) { |
|
|
|
public long getDelay(TimeUnit unit) { |
|
|
|
|
|
|
|
|
|
|
|
long timeRemaining = completionTime - System.currentTimeMillis(); |
|
|
|
long timeRemaining = completionTime - System.currentTimeMillis(); |
|
|
|
return unit.convert(timeRemaining, TimeUnit.MILLISECONDS); |
|
|
|
return unit.convert(timeRemaining, TimeUnit.MILLISECONDS); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
@ -223,6 +189,36 @@ public class WorkOrder implements Delayed { |
|
|
|
return Long.compare(this.completionTime, ((WorkOrder) o).completionTime); |
|
|
|
return Long.compare(this.completionTime, ((WorkOrder) o).completionTime); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static JSONObject toJson(WorkOrder workOrder) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
JSONObject jsonWorkOrder = new JSONObject(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
jsonWorkOrder.put("workOrderID", workOrder.workOrderID); |
|
|
|
|
|
|
|
jsonWorkOrder.put("vendor", workOrder.vendor.getObjectUUID()); |
|
|
|
|
|
|
|
jsonWorkOrder.put("slots_used", workOrder.slots_used); |
|
|
|
|
|
|
|
jsonWorkOrder.put("total_to_produce", workOrder.total_to_produce); |
|
|
|
|
|
|
|
jsonWorkOrder.put("total_produced", workOrder.total_produced); |
|
|
|
|
|
|
|
jsonWorkOrder.put("multiple_slot_request", workOrder.multiple_slot_request); |
|
|
|
|
|
|
|
jsonWorkOrder.put("production_cost", workOrder.production_cost); |
|
|
|
|
|
|
|
jsonWorkOrder.put("production_cost_total", workOrder.production_cost_total); |
|
|
|
|
|
|
|
jsonWorkOrder.put("templateID", workOrder.templateID); |
|
|
|
|
|
|
|
jsonWorkOrder.put("item_name_override", workOrder.item_name_override); |
|
|
|
|
|
|
|
jsonWorkOrder.put("prefixToken", workOrder.prefixToken); |
|
|
|
|
|
|
|
jsonWorkOrder.put("suffixToken", workOrder.suffixToken); |
|
|
|
|
|
|
|
jsonWorkOrder.put("rollingDuration", workOrder.rollingDuration); |
|
|
|
|
|
|
|
jsonWorkOrder.put("completionTime", workOrder.completionTime); |
|
|
|
|
|
|
|
jsonWorkOrder.put("runCompleted", workOrder.runCompleted); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ArrayList<Integer[]> cookingTokens = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (Item item : workOrder.cooking) |
|
|
|
|
|
|
|
cookingTokens.add(new Integer[]{item.prefixToken, item.suffixToken}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
jsonWorkOrder.put("cookingTokens", cookingTokens); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return jsonWorkOrder; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public String toString() { |
|
|
|
public String toString() { |
|
|
|
|
|
|
|
|
|
|
|
LocalDateTime localDateTime = Instant.ofEpochMilli(this.completionTime) |
|
|
|
LocalDateTime localDateTime = Instant.ofEpochMilli(this.completionTime) |
|
|
|