feat: run-traktorer får ingredienser og Wait-pulje fra deres run
This commit is contained in:
@@ -39,10 +39,12 @@ local function getRestLoad(adEnv, vehicle)
|
||||
return bestFillType, bestLevel
|
||||
end
|
||||
|
||||
local function getWaitCandidates(adEnv)
|
||||
-- poolGroup: run'ets Wait-mappe; tom/nil = alle Wait-mapper.
|
||||
local function getWaitCandidates(adEnv, poolGroup)
|
||||
local candidates = {}
|
||||
for _, marker in pairs(adEnv.ADGraphManager:getMapMarkers()) do
|
||||
if ADSupplyPlanner.isWaitMarker(marker) then
|
||||
local isInPool = poolGroup == nil or poolGroup == "" or marker.group == poolGroup
|
||||
if isInPool and ADSupplyPlanner.isWaitMarker(marker) then
|
||||
local wayPoint = adEnv.ADGraphManager:getWayPointById(marker.id)
|
||||
if wayPoint ~= nil then
|
||||
table.insert(candidates, {marker = marker, x = wayPoint.x, z = wayPoint.z})
|
||||
@@ -52,6 +54,11 @@ local function getWaitCandidates(adEnv)
|
||||
return candidates
|
||||
end
|
||||
|
||||
local function getWaitPoolGroup(vehicle)
|
||||
local run = ADRunsController ~= nil and ADRunsController.getRunForVehicle(vehicle) or nil
|
||||
return run ~= nil and run.waitPoolGroup or nil
|
||||
end
|
||||
|
||||
local function getVehiclePosition(vehicle)
|
||||
if vehicle.rootNode == nil then
|
||||
return nil
|
||||
@@ -110,11 +117,13 @@ local function startWaiting(adEnv, task)
|
||||
local isReachable = function(candidate)
|
||||
return hasRouteBothWays(adEnv, vehicle, candidate.marker.id, task.destinationID)
|
||||
end
|
||||
local candidate = x ~= nil and ADSupplyPlanner.pickNearestFreeWaitPoint(getWaitCandidates(adEnv), claims, x, z, vehicle, isReachable) or nil
|
||||
local pool = getWaitPoolGroup(vehicle)
|
||||
local candidate = x ~= nil and ADSupplyPlanner.pickNearestFreeWaitPoint(getWaitCandidates(adEnv, pool), claims, x, z, vehicle, isReachable) or nil
|
||||
if candidate == nil then
|
||||
if not warnedNoWaitPoint[vehicle] then
|
||||
warnedNoWaitPoint[vehicle] = true
|
||||
Logging.warning(ADUnloadWait.LOG_PREFIX .. "'%s' har %.0f l rest, og målet er fuldt — intet ledigt Wait-punkt med vejnet til OG fra målet (markør i en mappe med 'Wait' i navnet), så AutoDrive venter ved målet", tostring(vehicle:getName()), rest)
|
||||
local poolText = pool ~= nil and pool ~= "" and (" i puljen '" .. pool .. "'") or ""
|
||||
Logging.warning(ADUnloadWait.LOG_PREFIX .. "'%s' har %.0f l rest, og målet er fuldt — intet ledigt Wait-punkt%s med vejnet til OG fra målet (markør i en mappe med 'Wait' i navnet), så AutoDrive venter ved målet", tostring(vehicle:getName()), rest, poolText)
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user