fix: forkert last midt i et run — pålæsning afsluttes straks, målet der ikke tager varen regnes som fuldt (Wait), og resten læsses af i silo fra Wait (v1.11.7.0)
This commit is contained in:
@@ -87,13 +87,14 @@ function ADLoadSwap.tryFromWait(adEnv, task, wait, dt, redirect, release, isReac
|
||||
end
|
||||
wait.swapTimerMs = 0
|
||||
local vehicle = task.vehicle
|
||||
-- Tager målet slet ikke varen (forkert last), skal den af uanset hvad der ellers mangler.
|
||||
local missing = ADLoadSwap.findMissingIngredient(adEnv, vehicle, wait.fillType)
|
||||
if missing == nil then
|
||||
if missing == nil and not wait.isRejected then
|
||||
return false
|
||||
end
|
||||
local marker = ADLoadSwap.findDumpMarker(adEnv, vehicle, wait.fillType, wait.rest, wait.homeDestinationID, isReachable)
|
||||
local restName = g_fillTypeManager ~= nil and g_fillTypeManager:getFillTypeNameByIndex(wait.fillType) or tostring(wait.fillType)
|
||||
local missingName = g_fillTypeManager ~= nil and g_fillTypeManager:getFillTypeNameByIndex(missing.fillType) or tostring(missing.fillType)
|
||||
local missingName = missing ~= nil and (g_fillTypeManager ~= nil and g_fillTypeManager:getFillTypeNameByIndex(missing.fillType) or tostring(missing.fillType)) or "-"
|
||||
if marker == nil then
|
||||
if not warnedNoSilo[vehicle] then
|
||||
warnedNoSilo[vehicle] = true
|
||||
@@ -104,7 +105,8 @@ function ADLoadSwap.tryFromWait(adEnv, task, wait, dt, redirect, release, isReac
|
||||
warnedNoSilo[vehicle] = nil
|
||||
release(vehicle)
|
||||
redirect(task, marker.id)
|
||||
Logging.info(ADLoadSwap.LOG_PREFIX .. "'%s' bytter læs: %.0f l %s tilbage i %s (markør %s), målet mangler %s", tostring(vehicle:getName()), wait.rest, tostring(restName), tostring(marker.name), tostring(marker.markerIndex or marker.id), tostring(missingName))
|
||||
local why = missing ~= nil and ("målet mangler " .. tostring(missingName)) or "målet tager ikke varen"
|
||||
Logging.info(ADLoadSwap.LOG_PREFIX .. "'%s' bytter læs: %.0f l %s tilbage i %s (markør %s), %s", tostring(vehicle:getName()), wait.rest, tostring(restName), tostring(marker.name), tostring(marker.markerIndex or marker.id), why)
|
||||
return true
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user