fix: under Wait peger AD's mål på Wait-punktet (AD tippede ellers i småportioner og holdt vognen); behov/bytte måles mod hjem-målet; mål gendannes ved hjemkørsel (v1.11.13.0)
This commit is contained in:
@@ -517,13 +517,16 @@ end
|
||||
-- Fri plads + kapacitet for varen i køretøjets aflæsningsmål (Wait-punkt-logikken);
|
||||
-- nil hvis målet ikke kendes eller ikke tager varen.
|
||||
-- askAccepted=true: returnerer i stedet true/false for "tager målet varen?" (nil = mål ukendt).
|
||||
function ADSmartPickup.getTargetFreeCapacity(adEnv, driver, fillType, askAccepted)
|
||||
-- targetWayPointId (valgfri): brug dette mål i stedet for AD's 2. markør (mens en traktor venter
|
||||
-- ved et Wait-punkt, peger AD's markør på Wait-punktet, så AD ikke tipper).
|
||||
function ADSmartPickup.getTargetFreeCapacity(adEnv, driver, fillType, askAccepted, targetWayPointId)
|
||||
local secondMarker = driver.ad.stateModule:getSecondMarker()
|
||||
local farmId = getFarmId(driver)
|
||||
if secondMarker == nil or farmId == nil then
|
||||
local wayPointId = targetWayPointId or (secondMarker ~= nil and secondMarker.id or nil)
|
||||
if wayPointId == nil or farmId == nil then
|
||||
return nil
|
||||
end
|
||||
local targetWayPoint = adEnv.ADGraphManager:getWayPointById(secondMarker.id)
|
||||
local targetWayPoint = adEnv.ADGraphManager:getWayPointById(wayPointId)
|
||||
local target = targetWayPoint ~= nil and getUnloadStationAtMarker(adEnv, targetWayPoint, farmId) or nil
|
||||
if target == nil then
|
||||
return nil
|
||||
@@ -539,13 +542,14 @@ function ADSmartPickup.getTargetFreeCapacity(adEnv, driver, fillType, askAccepte
|
||||
end
|
||||
|
||||
-- Behovsstyret: den ingrediens aflæsningsmålet mangler mest, som også findes i en silo.
|
||||
function ADSmartPickup.findSupplyPickup(adEnv, driver, ingredients)
|
||||
function ADSmartPickup.findSupplyPickup(adEnv, driver, ingredients, targetWayPointId)
|
||||
local secondMarker = driver.ad.stateModule:getSecondMarker()
|
||||
local farmId = getFarmId(driver)
|
||||
if secondMarker == nil or farmId == nil then
|
||||
local wayPointId = targetWayPointId or (secondMarker ~= nil and secondMarker.id or nil)
|
||||
if wayPointId == nil or farmId == nil then
|
||||
return nil
|
||||
end
|
||||
local targetWayPoint = adEnv.ADGraphManager:getWayPointById(secondMarker.id)
|
||||
local targetWayPoint = adEnv.ADGraphManager:getWayPointById(wayPointId)
|
||||
local target = targetWayPoint ~= nil and getUnloadStationAtMarker(adEnv, targetWayPoint, farmId) or nil
|
||||
if target == nil then
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user