fix(pulje): efter indlæsning følges traktorer med puljeredskab uden ejer som forældreløse — sættes tilbage efter 2 min uden opgave (v1.60.5.0)
This commit is contained in:
@@ -631,6 +631,18 @@ end
|
||||
ADFlowWagons.AFTER_LOAD_MS = 120000
|
||||
local sinceLoad, cleanedUp = 0, false
|
||||
|
||||
-- Efter indlæsning: traktorer uden for flows med et puljeredskab på (hentet før gemning, opgaven tabt) følges som
|
||||
-- forældreløse — får de ingen opgave inden ORPHAN_MS, sættes redskabet tilbage (in-game 29/9: 3 læssevogne).
|
||||
local function adoptOrphansAfterLoad(adEnv)
|
||||
for _, vehicle in ipairs(ADRunsController.getFarmVehicles(adEnv)) do
|
||||
local run = ADRunsController.getRunForVehicle(vehicle)
|
||||
if (run == nil or run.stopped) and vehicle.spec_attacherJoints ~= nil and #ADHitch.poolParkIds(adEnv, vehicle) > 0
|
||||
and not ADFlowWagons.isEmptying(vehicle) and not homing[vehicle] then
|
||||
orphans[vehicle] = orphans[vehicle] or 0
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function cleanupAfterLoad(adEnv)
|
||||
for _, run in ipairs(runs()) do
|
||||
if run.stopped then
|
||||
@@ -669,6 +681,8 @@ function ADFlowWagons.tick(adEnv, dt)
|
||||
cleanedUp = true
|
||||
local ok, err = pcall(cleanupAfterLoad, adEnv)
|
||||
if not ok then Logging.warning(ADFlowWagons.LOG_PREFIX .. "oprydning efter indlæsning: %s", tostring(err)) end
|
||||
local okAdopt, errAdopt = pcall(adoptOrphansAfterLoad, adEnv)
|
||||
if not okAdopt then Logging.warning(ADFlowWagons.LOG_PREFIX .. "redskaber uden opgave efter indlæsning: %s", tostring(errAdopt)) end
|
||||
local okPrune, errPrune = pcall(ADRunsController.pruneMissingVehicles, adEnv)
|
||||
if not okPrune then Logging.warning(ADFlowWagons.LOG_PREFIX .. "oprydning af solgte traktorer: %s", tostring(errPrune)) end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user