fix: Wait-markører aldrig mål i forsynings-runs; kilde-advarsel forklarer hvad opslaget ser ved markøren (v1.12.20.0)

This commit is contained in:
2026-09-23 18:00:42 +02:00
parent cc0a9f4157
commit 034286f69e
6 changed files with 60 additions and 4 deletions
+9 -2
View File
@@ -143,10 +143,16 @@ function ADRunsController.getRunTargets(run)
return run.targetWayPointId ~= nil and {run.targetWayPointId} or {}
end
local function isWaitWayPoint(adEnv, wayPointId)
local marker = adEnv.ADGraphManager.getMapMarkerByWayPointId ~= nil and adEnv.ADGraphManager:getMapMarkerByWayPointId(wayPointId) or nil
return marker ~= nil and ADSupplyPlanner ~= nil and ADSupplyPlanner.isWaitMarker ~= nil and ADSupplyPlanner.isWaitMarker(marker)
end
-- Wait-markører er ventepladser og aldrig mål, selv om de ligger inden for staldens trigger-rækkevidde.
local function getTargetStations(adEnv, run, farmId)
local stations = {}
for _, wayPointId in ipairs(ADRunsController.getRunTargets(run)) do
local station = ADSmartPickup.getUnloadStationAtWayPointId(adEnv, wayPointId, farmId)
local station = not isWaitWayPoint(adEnv, wayPointId) and ADSmartPickup.getUnloadStationAtWayPointId(adEnv, wayPointId, farmId) or nil
if station ~= nil then
table.insert(stations, {wayPointId = wayPointId, station = station})
end
@@ -861,7 +867,8 @@ end
function ADRunsController.getTargetMarkers(adEnv, farmId)
local entries = {}
for _, marker in pairs(adEnv.ADGraphManager:getMapMarkers()) do
local station = ADSmartPickup.getUnloadStationAtWayPointId(adEnv, marker.id, farmId)
local isWait = ADSupplyPlanner ~= nil and ADSupplyPlanner.isWaitMarker ~= nil and ADSupplyPlanner.isWaitMarker(marker)
local station = not isWait and ADSmartPickup.getUnloadStationAtWayPointId(adEnv, marker.id, farmId) or nil
local kind = station ~= nil and getTargetKind(station) or nil
if kind ~= nil then
table.insert(entries, {marker = marker, kind = kind})