feat: run-traktorer får ingredienser og Wait-pulje fra deres run
This commit is contained in:
@@ -489,10 +489,23 @@ local function applySupplyChoice(driver, ingredients, choice)
|
||||
supplyState[driver] = {ingredients = ingredients, narrowedTo = choice.fillType}
|
||||
end
|
||||
|
||||
-- Samlet valg: behovsstyret når flere varer er valgt, ellers mappe-logik. nil = AutoDrives original.
|
||||
-- Ingredienslisten for køretøjet: run'ets liste når det er i et run (ingen tændknap
|
||||
-- nødvendig), ellers AD's multi-valg (>1 vare). nil = ingen behovsstyring.
|
||||
function ADSmartPickup.getIngredientsFor(adEnv, driver)
|
||||
local run = ADRunsController ~= nil and ADRunsController.getRunForVehicle(driver) or nil
|
||||
if run ~= nil then
|
||||
local ingredients = ADRunsController.getRunIngredients(adEnv, run, driver)
|
||||
if #ingredients > 0 then
|
||||
return ingredients
|
||||
end
|
||||
return nil
|
||||
end
|
||||
return ADSupplyPlanner.resolveIngredients(supplyState[driver], driver.ad.stateModule:getSelectedFillTypes())
|
||||
end
|
||||
|
||||
-- Samlet valg: behovsstyret med ingrediensliste, ellers mappe-logik. nil = AutoDrives original.
|
||||
function ADSmartPickup.choosePickup(adEnv, driver)
|
||||
local selected = driver.ad.stateModule:getSelectedFillTypes()
|
||||
local ingredients = ADSupplyPlanner.resolveIngredients(supplyState[driver], selected)
|
||||
local ingredients = ADSmartPickup.getIngredientsFor(adEnv, driver)
|
||||
if ingredients == nil then
|
||||
supplyState[driver] = nil
|
||||
return ADSmartPickup.findLeastFilledPickup(adEnv, driver)
|
||||
@@ -664,6 +677,10 @@ function ADSmartPickup:update(dt)
|
||||
if adEnv ~= nil and g_currentMission ~= nil and g_currentMission.storageSystem ~= nil then
|
||||
installHook(adEnv)
|
||||
isHooked = true
|
||||
if ADRunsController ~= nil then
|
||||
pcall(ADRunsController.load, adEnv)
|
||||
pcall(ADRunsController.installSaveHook)
|
||||
end
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user