Wie macht man alle verfügbaren Ressourcen (Gleise, Straßen, Gütertypen) als Parameter in einer Konstruktion zugänglich? Ich vermute, selbst mit dem neuen Ressourcensystem ist das nicht möglich. Ich kann doch nicht der erste sein, der auf diese Idee kommt.
In meinem Fall möchte ich alle Güter als Auswahl zum Import/Export ermöglichen. Ich könnte mich jetzt hinsetzen und anfangen mit {"COAL", "IRON_ORE" , ...} aber dann würden keine gemoddeten Güter erscheinen.
params = {
{
uiType = "COMBOBOX",
key = "cargotype",
name = _("Cargo Type"),
values = getCargoTypes()
},
...
Ich kenne game.interface.getCargoTypes() und auch die api.res Funktionen. Keines davon ist innerhalb der .con existent.
Nun habe ich auch versucht, die Konstruktion mithilfe des neuen dynamischen Ressourcensystems zu verändern.
postRunFn = function(settings, params)
local getCargoTypes = function()
local cargoRep = api.res.cargoTypeRep.getAll()
local ctypes = {}
for _,ctype in pairs(cargoRep) do
table.insert(ctypes, ctype)
end
return ctypes
end
local aotmID = api.res.constructionRep.find("station/air/airport_outside_the_map.con")
local con = api.res.constructionRep.get(aotmID)
for _,p in pairs(con.params) do
if p.key=="cargotype" then
p.values = getCargoTypes()
end
end
Alles anzeigen
Das funktioniert sogar! Alle Werte werden angezeigt.
Aber: Das bringt noch nichts, denn ich muss ja an die Werte kommen. Wie kriege ich die CargoTypes in die updateFn der Konstruktion?