Skip to content

API Add on Fenster

Marcel1853 edited this page Oct 21, 2026 · 3 revisions

🇬🇧 English version · ⬅ Für Mod-Autoren

Add-ons: Fenster und Manager

Note

Neu in 0.0.20.

Ein Add-on kann im Stationsfenster einen eigenen Abschnitt und im UTL-Manager einen eigenen Reiter haben. UTL legt den Platz an, den Inhalt baut das Add-on.

Funktion Wirkung
register_gui_section{ mod, interface, build } Abschnitt im Stationsfenster (rechte Spalte bzw. Reiter „Werte“, unter den UTL-Abschnitten)
register_manager_tab{ mod, interface, build, caption } Reiter im UTL-Manager, hinter den UTL-Reitern; caption = Beschriftung (LocalisedString)

Beides in on_init und on_configuration_changed anmelden. Gibt es die Funktion build im Interface nicht, liefert die Anmeldung false und "unknown-function".

Aufrufe

Wann Aufruf
Stationsfenster wird geöffnet oder neu aufgebaut remote.call(interface, build, flow, station_unit, player_index) – flow ist ein leerer, senkrechter Flow. Bleibt er leer, verschwindet er wieder (z. B. für Stationen ohne eigene Rolle).
Reiter im Manager wird gewählt oder ⟲ gedrückt remote.call(interface, build, flow, player_index) – flow ist der geleerte Inhalt des Reiters (880 × 560). Er wird nicht im Takt aufgefrischt.
remote.add_interface("meine-mod", {
  station_section = function(flow, unit, player_index)
    local data = remote.call("utl", "get_station_data", unit, "meine-mod")
    if not data then return end            -- nichts hinzufügen: Abschnitt verschwindet
    flow.add({ type = "label", caption = { "meine-mod.gleise", data.gleise } })
  end,
  manager_tab = function(flow, player_index)
    flow.add({ type = "label", caption = "Abstellgleise: …" })
  end,
})
remote.call("utl", "register_gui_section", { mod = "meine-mod", interface = "meine-mod", build = "station_section" })
remote.call("utl", "register_manager_tab", { mod = "meine-mod", interface = "meine-mod", build = "manager_tab",
  caption = { "meine-mod.tab" } })

Eingaben (Klicks, Häkchen, Textfelder) in den eigenen Elementen behandelt das Add-on selbst mit seinen GUI-Ereignissen. Das Element flow des Stationsfensters trägt den Tag { utl_addon = mod }. Soll sich der Inhalt nach einer Eingabe ändern, baut das Add-on ihn in seinem Flow selbst neu.

Clone this wiki locally