feat: controller-opslag til GUI (målets varer, køretøjs-label, Wait-reservationer)
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -176,6 +176,23 @@ function ADUnloadWait.releaseInactive()
|
||||
end
|
||||
end
|
||||
|
||||
-- Hvem holder hvor (GUI'ets Wait-puljer-visning). Sorteret på mappe, dernæst markør-id.
|
||||
function ADUnloadWait.getClaims()
|
||||
local result = {}
|
||||
for _, wait in pairs(waits) do
|
||||
if wait.waitMarker ~= nil and claims[wait.waitMarker.id] ~= nil then
|
||||
table.insert(result, {marker = wait.waitMarker, vehicle = claims[wait.waitMarker.id]})
|
||||
end
|
||||
end
|
||||
table.sort(result, function(a, b)
|
||||
if a.marker.group ~= b.marker.group then
|
||||
return tostring(a.marker.group) < tostring(b.marker.group)
|
||||
end
|
||||
return a.marker.id < b.marker.id
|
||||
end)
|
||||
return result
|
||||
end
|
||||
|
||||
function ADUnloadWait.install(adEnv)
|
||||
local task, autoDrive = adEnv.UnloadAtDestinationTask, adEnv.AutoDrive
|
||||
if isInstalled or task == nil or task.update == nil or autoDrive == nil or autoDrive.getSetting == nil then
|
||||
|
||||
Reference in New Issue
Block a user