feat: køretøjer navngives efter deres flow (AD-førernavn 'Milk Collect 1'), bruges i log og menu; modelnavn tilbage ved udmeldelse (v1.17.0.0)
This commit is contained in:
@@ -410,3 +410,43 @@ function ADRuns.fromRecords(records)
|
||||
end
|
||||
return store
|
||||
end
|
||||
|
||||
-- ---- køretøjsnavne ----
|
||||
|
||||
-- Navn pr. køretøj efter det forløb det kører: "Milk Collect 1", "Milk Collect 2" … i medlemsrækkefølge;
|
||||
-- er køretøjet alene i forløbet, bare forløbets navn. {[vehicleId] = navn}.
|
||||
function ADRuns.vehicleNames(store)
|
||||
local names = {}
|
||||
for _, run in ipairs(store ~= nil and store.runs or {}) do
|
||||
local count = #(run.vehicleIds or {})
|
||||
for index, vehicleId in ipairs(run.vehicleIds or {}) do
|
||||
names[vehicleId] = count > 1 and string.format("%s %d", tostring(run.name), index) or tostring(run.name)
|
||||
end
|
||||
end
|
||||
return names
|
||||
end
|
||||
|
||||
-- true når navnet er et forløbsnavn vi selv har sat ("Navn" eller "Navn 3").
|
||||
function ADRuns.isRunVehicleName(store, name)
|
||||
if name == nil then return false end
|
||||
for _, run in ipairs(store ~= nil and store.runs or {}) do
|
||||
local runName = tostring(run.name)
|
||||
if name == runName then return true end
|
||||
local prefix, number = string.match(name, "^(.-) (%d+)$")
|
||||
if prefix == runName and number ~= nil then return true end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
-- Navnet i log og menu: AutoDrives førernavn (sat efter forløbet), ellers køretøjets modelnavn.
|
||||
function ADRuns.vehicleLabel(vehicle)
|
||||
local stateModule = vehicle ~= nil and vehicle.ad ~= nil and vehicle.ad.stateModule or nil
|
||||
if stateModule ~= nil and stateModule.getName ~= nil then
|
||||
local ok, name = pcall(stateModule.getName, stateModule)
|
||||
if ok and name ~= nil and name ~= "" then return tostring(name) end
|
||||
end
|
||||
if vehicle ~= nil and vehicle.getName ~= nil then
|
||||
return tostring(vehicle:getName())
|
||||
end
|
||||
return "?"
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user