fix: silo til forkert last kræver kun vejnet fra traktoren (ikke silo→mål); advarsel forklarer hvorfor ingen silo (v1.11.8.0)

This commit is contained in:
2026-09-23 02:30:51 +02:00
parent ce32eb8e44
commit 0abf282877
5 changed files with 46 additions and 21 deletions
+15 -1
View File
@@ -75,6 +75,16 @@ end
-- Findes der vejnet fra køretøjet til Wait-punktet OG fra Wait-punktet hjem til målet?
-- Sendes AutoDrive mod et punkt uden rute, viser den "cannot reach" og slukker sig selv.
-- getPathTo/pathFromTo er rene opslag uden bivirkninger.
-- Kun "til punktet": ved aflæsning af (forkert) last i en silo er næste tur AD's egen
-- rute fra siloen, så "fra siloen hjem" er ikke et krav.
local function hasRouteTo(adEnv, vehicle, wayPointId)
local graph = adEnv.ADGraphManager
if graph.getPathTo == nil then
return true
end
return pathReaches(graph:getPathTo(vehicle, wayPointId), wayPointId)
end
local function hasRouteBothWays(adEnv, vehicle, waitWayPointId, homeWayPointId)
local graph = adEnv.ADGraphManager
if graph.getPathTo == nil or graph.pathFromTo == nil then
@@ -185,7 +195,7 @@ local function updateWaiting(adEnv, task, wait, dt)
if free == nil or not ADSupplyPlanner.canUnloadRest(free, rest, capacity, freeFraction) then
if ADLoadSwap ~= nil then
local isReachable = function(markerId)
return hasRouteBothWays(adEnv, vehicle, markerId, wait.homeDestinationID)
return hasRouteTo(adEnv, vehicle, markerId)
end
ADLoadSwap.tryFromWait(adEnv, task, wait, dt, redirect, release, isReachable)
end
@@ -222,6 +232,10 @@ function ADUnloadWait.hasRouteBothWays(adEnv, vehicle, toWayPointId, homeWayPoin
return hasRouteBothWays(adEnv, vehicle, toWayPointId, homeWayPointId)
end
function ADUnloadWait.hasRouteTo(adEnv, vehicle, wayPointId)
return hasRouteTo(adEnv, vehicle, wayPointId)
end
function ADUnloadWait.getRestLoad(adEnv, vehicle)
return getRestLoad(adEnv, vehicle)
end