Parametertypen in Konstruktionen

Willkommen in der Transport Fever Community

Welcome to the fan community of Transport Fever and Train Fever, the economic simulators of Urban Games. The community is free for you to share and inform yourself about the game. We cultivate a friendly and objective interaction with each other and our team will be happy to answer any questions you may have.

 

Registration and use is of course free for you.

 

We wish you a lot of fun and hope for active participation.

The Team of the 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.

    Code
    1. {
    2. key = "typ",
    3. name = _("Grabstein / Kreuz"),
    4. uiType = "BUTTON",
    5. values = { _("Grabstein"), _("Kreuz"), _("nichts"), },
    6. tooltip = _("Wähle den Aufbau für das Grabmal"),
    7. defaultIndex = 0,
    8. },

    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.

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

    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.

    Code
    1. {
    2. key = "tortyp",
    3. name = _("Tortyp"),
    4. uiType = "COMBOBOX",
    5. values = { _("mit Kreuz"), _("ohne Kreuz"), _("ohne Kreuz - offen"), },
    6. tooltip = _("Wähle die Art des Friedhoftors"),
    7. defaultIndex = 0,
    8. },

    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).

    Code
    1. {
    2. key = "stein_mat",
    3. name = _("Grabsteinmaterial"),
    4. uiType = "ICON_BUTTON",
    5. values = {"ui/parameters/grabstein_schwarz.tga", "ui/parameters/grabstein_grau.tga", "ui/parameters/grabstein_weiss.tga", "ui/parameters/grabstein_rot.tga", },
    6. tooltip = _("Wähle das Material für den Grabstein"),
    7. defaultIndex = 0,
    8. },

    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.

    Code
    1. {
    2. key = "random",
    3. name = _("Zufällige Kombination der Grabmäler"),
    4. uiType = "CHECKBOX",
    5. values = {"0", "1"},
    6. tooltip = _("Lege fest, ob die Grabmäler zufällig zusammengestellt werden"),
    7. },

    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.

Share

Comments 1

  • 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.