feat: controller-opslag til GUI (målets varer, køretøjs-label, Wait-reservationer)

This commit is contained in:
2026-09-22 22:46:29 +02:00
parent aa040d95ef
commit bd446f8add
4 changed files with 78 additions and 0 deletions
+31
View File
@@ -140,6 +140,37 @@ function ADRunsController.getRunIngredients(adEnv, run, vehicle)
return ADRunsController.getTargetFillTypes(adEnv, run, vehicle)
end
-- Alle varer målet tager (uanset vogn) — afkrydsningslisten i GUI'et. {index, name, title}, sorteret på titel.
function ADRunsController.getTargetAcceptedFillTypes(adEnv, run)
if run.targetWayPointId == nil then
return {}
end
local farmId = g_currentMission:getFarmId()
local target = ADSmartPickup.getUnloadStationAtWayPointId(adEnv, run.targetWayPointId, farmId)
if target == nil then
return {}
end
local fillTypes = g_fillTypeManager.getFillTypes ~= nil and g_fillTypeManager:getFillTypes() or g_fillTypeManager.fillTypes or {}
local result = {}
for _, fillType in ipairs(fillTypes) do
if fillType.index ~= nil and ADSmartPickup.getStationLevelAndCapacity(target, fillType.index, farmId) ~= nil then
table.insert(result, {index = fillType.index, name = fillType.name, title = fillType.title or fillType.name})
end
end
table.sort(result, function(a, b) return tostring(a.title) < tostring(b.title) end)
return result
end
-- Fire traktorer kan hedde det samme; løbenummeret er pladsen i farmens AD-køretøjsliste.
function ADRunsController.getVehicleLabel(adEnv, vehicle)
for index, candidate in ipairs(ADRunsController.getFarmVehicles(adEnv)) do
if candidate == vehicle then
return string.format("%s (#%d)", tostring(vehicle:getName()), index)
end
end
return tostring(vehicle:getName())
end
-- ---- validering ----
local function getLoadCapacity(adEnv, vehicle)