feat: flere mål pr. run (afkrydsning; den stald der mangler mest får turen, AD's mål skiftes ved turstart) + under-faner Overblik/Runs (v1.11.0.0)
This commit is contained in:
@@ -611,8 +611,27 @@ function ADSmartPickup.getIngredientsFor(adEnv, driver)
|
||||
return ADSupplyPlanner.resolveIngredients(supplyState[driver], driver.ad.stateModule:getSelectedFillTypes())
|
||||
end
|
||||
|
||||
-- Run med flere mål: ved turens start sættes AD's aflæsningsmål til den stald der mangler
|
||||
-- mest. AD læser først målet når vognen er læsset, så skiftet her gælder for hele turen.
|
||||
local function chooseRunTarget(adEnv, driver)
|
||||
local run = ADRunsController ~= nil and ADRunsController.getRunForVehicle(driver) or nil
|
||||
if run == nil or ADRunsController.chooseTarget == nil or #ADRunsController.getRunTargets(run) < 2 then
|
||||
return
|
||||
end
|
||||
local stateModule = driver.ad.stateModule
|
||||
local targetId = ADRunsController.chooseTarget(adEnv, run, driver)
|
||||
local current = stateModule.getSecondMarker ~= nil and stateModule:getSecondMarker() or nil
|
||||
if targetId == nil or stateModule.setSecondMarkerByWayPointId == nil or (current ~= nil and current.id == targetId) then
|
||||
return
|
||||
end
|
||||
stateModule:setSecondMarkerByWayPointId(targetId)
|
||||
local marker = adEnv.ADGraphManager.getMapMarkerByWayPointId ~= nil and adEnv.ADGraphManager:getMapMarkerByWayPointId(targetId) or nil
|
||||
Logging.info(ADSmartPickup.LOG_PREFIX .. "'%s' kører til %s (mangler mest af run'ets mål)", tostring(driver:getName()), marker ~= nil and tostring(marker.name) or tostring(targetId))
|
||||
end
|
||||
|
||||
-- Samlet valg: behovsstyret med ingrediensliste, ellers mappe-logik. nil = AutoDrives original.
|
||||
function ADSmartPickup.choosePickup(adEnv, driver)
|
||||
chooseRunTarget(adEnv, driver)
|
||||
local ingredients = ADSmartPickup.getIngredientsFor(adEnv, driver)
|
||||
if ingredients == nil then
|
||||
supplyState[driver] = nil
|
||||
|
||||
Reference in New Issue
Block a user