Parametertypen in Konstruktionen

Willkommen in der Transport Fever Community

Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.

 

Die Registrierung und Nutzung ist selbstverständlich kostenlos.

 

Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.

Das Team der Transport-Fever Community


  • Mit Transport Fever 2 gibt es einige neue Parametertypen, die für Konstruktionen verwendet werden können.

    Alle Parametertypen haben gemeinsame Eigenschaften:


    EigenschaftInhaltDefaultBeschreibung
    keyString-eindeutiger Identifier für den Parameter
    nameString""Anzeigename für das Parametermenü
    values{String,String,...}?Anzeigewerte für das Parametermenü, siehe unten
    defaultIndexInteger0Vorgewählte Option beim ersten Aufruf
    uiType"BUTTON" oder "SLIDER" oder "COMBOBOX" oder "ICON_BUTTON" oder "CHECKBOX""BUTTON"Art des Parameters, siehe unten
    yearFromInteger0Parameter wird angezeigt ab
    yearToIntegerunendlichParameter wird angezeigt bis
    tooltipString""Tooltip der beim Hovern über dem Namen des Parameters angezeigt wird



    Die Eigenheiten der verschiedenen Arten wird im Folgenden betrachtet:


    BUTTON
    Einfache Text-Buttons sind bereits aus Transport Fever bekannt. Sie werden im Menü als zentrierte Liste aneinander gereiht. Die Beschriftung der Buttons wird im values-Parameter als Stringliste übergeben, diese können auch in der strings.lua übersetzt werden.

    Lua
    {
        key = "typ",
        name = _("Grabstein / Kreuz"),
        uiType = "BUTTON",
        values = { _("Grabstein"), _("Kreuz"), _("nichts"), },
        tooltip = _("Wähle den Aufbau für das Grabmal"),
        defaultIndex = 0,
    },

    Im Spiel sieht der obige Code folgendermaßen aus:



    SLIDER
    Gerade für viele lineare Werte, wie z.b. Zahlenreihen oder Größenabstufungen lassen sich Slider als einfach zu bedienende Regler einsetzen. Die Bezeichnung der aktuell ausgewählten Position wird rechts neben dem Slider angezeigt. Die Anzeigenamen der Buttons wird im values-Parameter als Stringliste übergeben, diese können auch in der strings.lua übersetzt werden.

    Lua
    {
        key = "mauerlaenge",
        name = _("Länge der Mauer"),
        uiType = "SLIDER",
        values = { _("1"), _("2"), _("3"), _("4"), _("5"), _("6"), _("7"), _("8"), },
        tooltip = _("Wähle die Anzahl der Mauerelemente"),
        defaultIndex = 7,
    },

    Im Spiel sieht der obige Code folgendermaßen aus:



    COMBOBOX
    Wenn eine große Menge an Textoptionen zur Auswahl stehen soll, ist eine einfache Liste aus Buttons nicht ausreichend. Dann lässt sich eine Combobox, auch als Dropdown-Menü bekannt, realisieren, um kompakt viele Optionen anzubieten. Die Einträge der Liste werden im values-Parameter als Stringliste übergeben, diese können auch in der strings.lua übersetzt werden.

    Lua
    {
        key = "tortyp",
        name = _("Tortyp"),
        uiType = "COMBOBOX",
        values = { _("mit Kreuz"), _("ohne Kreuz"), _("ohne Kreuz - offen"), },
        tooltip = _("Wähle die Art des Friedhoftors"),
        defaultIndex = 0,
    },

    Im Spiel sieht der obige Code folgendermaßen aus:



    ICON_BUTTON
    Im Gegensatz zu den Text-Buttons zeigen die Icon-Buttons kleine Bilder im TGA-Format an. Die Liste ist im Gegensatz zu den Text-Buttons aktuell linksbündig angeordnet. Wenn die Liste der Buttons breiter als das Parametermenü wird, bricht sie auf eine weitere Zeile um. Es ist deshalb ratsam, dass die Bilder für die Buttons alle die gleiche Höhe haben. Außerdem sollte der Rand der Buttons transparent sein, damit man erkennt, welche Option aktuell ausgewählt wurde. Die Dateipfade zu den Bildern werden im values-Parameter als Stringliste übergeben, die Pfade beziehen sich auf den kompletten Texturenordner (siehe Beispiel).

    Lua
    {
        key = "stein_mat",
        name = _("Grabsteinmaterial"),
        uiType = "ICON_BUTTON",
        values = {"ui/parameters/grabstein_schwarz.tga", "ui/parameters/grabstein_grau.tga", "ui/parameters/grabstein_weiss.tga", "ui/parameters/grabstein_rot.tga", },
        tooltip = _("Wähle das Material für den Grabstein"),
        defaultIndex = 0,
    },

    Im Spiel sieht der obige Code folgendermaßen aus:




    CHECKBOX
    Wenn lediglich ein Wert mit ja oder nein belegt ist, eignet sich auch eine Checkbox als Parametertyp. Dabei wird lediglich der Name angezeigt, der values-Parameter muss aber dennoch definiert sein.

    Lua
    {
        key = "random",
        name = _("Zufällige Kombination der Grabmäler"),
        uiType = "CHECKBOX",
        values = {"0", "1"},
        tooltip = _("Lege fest, ob die Grabmäler zufällig zusammengestellt werden"),
    },

    Im Spiel sieht der obige Code folgendermaßen aus:



    Rückgabewerte der Parameter
    In der updateFn-Funktion der Construction können die gewählten Optionen mit params.<key> abgerufen werden. Dabei werden Zahlen beginnend ab 0 ausgegeben. Der erste Eintrag eines Dropdowns liefert beispielsweise entsprechend eine 0. Bei der Checkbox entspricht 0 dem nicht aktivierten Zustand, 1 dem aktivierten Zustand.

Teilen

Kommentare 2

  • Checkboxen haben keinen Tooltip

  • Würde mir wünschen, dass es auch eine Tabelle unter "uityp" geben würde.

    Also einzelne mod

    Untereinander

    angeordnet

    wie in der Combobox

    nur ohne auf Slider

    klicken zu müssen.