Zum Inhalt

main_menu

Quelle: base/tealdef/gui/menu/main_menu.d.tl

Hinweise

Gemeinsame Typen von Hauptmenü und Pausenmenü im Spiel: Seitennamen, die gemeinsamen Parameter, die jede Menüseite bekommt, Gruppen von Spielständen und Daten der Versionshinweise.

Page

enum global base/tealdef/gui/menu/main_menu.d.tl:3

global enum Page

Hinweise

Name einer Menüseite, wird an CommonMenuParams.setPage übergeben.

Details

Das Hauptmenü kennt Main, NewGame, NewGameOrMapSettings, LoadGame, Tutorial, Campaign, ModManager, Achievements, Settings, Credits, LicensePage und ProgressPage; bei jedem anderen Wert zeigt es die Hauptseite. Das Pausenmenü im Spiel kennt Main (seine eigene Startseite), SaveGame, LoadGame, Settings und ModManager. Kein Skript des Basisspiels setzt MapEditor oder ReleaseNotes (die Versionshinweise öffnet CommonMenuParams.showReleaseNotes).

Wert Beschreibung
"Main" Startseite des Menüs (im Pausenmenü dessen Hauptseite).
"NewGame" Seite zum Starten eines neuen Spiels.Im Spiel Neues Spiel · Karten-EditorIm Code: New Game · Map Editor
"SaveGame" Speicherseite des Pausenmenüs.Im Spiel Spiel speichern · Karte speichern · Karte speichern und spielenIm Code: Save Game · Save Map · Save and Play
"NewGameOrMapSettings" Einstellungsseite für ein neues Spiel oder eine neue Karte (new_game_or_map_settings_page.tl).
"ModManager" Seite des Mod-Hubs bzw. Mod-Managers.Im Spiel Mod-HubIm Code: Mod Hub
"LoadGame" Seite zum Laden eines Spiels.Im Spiel Spiel laden · Karte ladenIm Code: Load Game · Load Map
"Campaign" Kampagnenseite. Ist CampaignParam.mission gesetzt, zeigt sie diese Mission.Im Spiel KampagneIm Code: Campaign
"Tutorial" Tutorial-Seite.Im Spiel TutorialIm Code: Tutorial
"MapEditor"
"Achievements" Seite der Erfolge.Im Spiel Errungenschaften · TrophäenIm Code: Achievements · Trophies
"Settings" Einstellungsseite.Im Spiel EinstellungenIm Code: Settings
"Credits" Seite der Mitwirkenden.Im Spiel MitwirkendeIm Code: Credits
"LicensePage" Seite mit der Lizenzvereinbarung. Das Hauptmenü zeigt sie statt der Hauptseite, solange api.gui.backend.hasLegalDocuments() true ist.
"ReleaseNotes"
"ProgressPage" Ladebildschirm mit Fortschrittsbalken. Das Hauptmenü wechselt von selbst dorthin, solange der Fortschrittsmonitor eine Aufgabe meldet. Die Parameter sind ein ProgressPageMissionParam.Im Spiel Spiel startenIm Code: Start Game

NewOrLoadPage

enum global base/tealdef/gui/menu/main_menu.d.tl:27

global enum NewOrLoadPage

Hinweise

Reiter der Einstellungsseite für neues Spiel oder Karte und der Einstellungen beim Laden.

Wert Beschreibung
"NewOrLoadMain" Reiter mit den allgemeinen Einstellungen.
"NewOrLoadAdvanced" Reiter mit den erweiterten Einstellungen.Im Spiel Gameplay-EinstellungenIm Code: Gameplay Settings
"NewOrLoadMods" Reiter der Mods.

CommonMenuParams

record global base/tealdef/gui/menu/main_menu.d.tl:33

global record CommonMenuParams

Hinweise

Dienste, die das Hauptmenü oder das Pausenmenü im Spiel jeder seiner Seiten als commonParams mitgibt.

Details

Das Pausenmenü füllt nur setPage, windowContainer, calloutContainerRef, onClose, inGame (true) und setBlockedForModal. Das Hauptmenü füllt alle anderen Felder, aber nicht onClose und inGame.

Felder

Name Typ Beschreibung
windowContainer ReactRefWrapApiT<Builtin.WindowContainerDelegateParam, Builtin.WindowAPI> Window-Container des Menüs. windowContainer:get():getApi() liefert die Builtin.WindowAPI, mit der du Dialogfenster hinzufügst und entfernst.
calloutContainerRef ReactRefWrapApi0<CalloutApi> Ref auf den Callout-Container des Menüs.
inGame boolean True, wenn die Seite im Pausenmenü im Spiel angezeigt wird. Im Hauptmenü nicht gesetzt (nil).
fadeIn FadeInMode Aktueller Einblendzustand der Hauptseite. Nach dem Einblenden nil.

Funktionen

setPage(Page, params? : any) base/tealdef/gui/menu/main_menu.d.tl:34

Hinweise

Wechselt das Menü auf eine andere Seite.

Details

Das zweite Argument bekommt die neue Seite als ihre params (z. B. ein CampaignParam oder ein ProgressPageMissionParam). Verlässt der Spieler im Hauptmenü eine Seite, während noch Mods herunterladen, fragt ein Dialog zuerst nach. Der Wechsel setzt außerdem den Verwaltungsmodus des Mod-Hubs für die neue Seite.

showReleaseNotes(fadeIn? : boolean, closeCallback? : function(), pos? : Vec2f) base/tealdef/gui/menu/main_menu.d.tl:35

Hinweise

Öffnet das Fenster mit den Versionshinweisen (nur im Hauptmenü).

Details

fadeIn fügt die Style-Klasse fade-in hinzu, closeCallback wird beim Schließen des Fensters aufgerufen und pos ist die anfängliche Fensterposition.

setBlockedForModal(blocked : boolean) base/tealdef/gui/menu/main_menu.d.tl:38

Hinweise

Mit true aufrufen, wenn ein modaler Dialog aufgeht, und mit false, wenn er sich schließt. Die Aufrufe werden gezählt, also braucht jedes true ein passendes false.

onClose() base/tealdef/gui/menu/main_menu.d.tl:39

Hinweise

Schließt das Pausenmenü (nur im Pausenmenü).

getDLCModState() : GameEditionTextParam base/tealdef/gui/menu/main_menu.d.tl:42

Hinweise

Gibt zurück, welche Editionspakete installiert sind (nur im Hauptmenü).

Rückgabe GameEditionTextParam: Ein GameEditionTextParam.

triggerBackgroundEvent(pos : Vec2f, forceR? : boolean, forceG? : boolean, forceB? : boolean, forceA? : boolean) base/tealdef/gui/menu/main_menu.d.tl:43

Hinweise

Startet an einer Position einen Hervorhebungseffekt im animierten Hintergrund des Hauptmenüs (nur im Hauptmenü). Liegt das letzte Hintergrundereignis weniger als 0,6 Sekunden zurück, passiert nichts.

Details

Der Hintergrund hat vier Effektkanäle (R, G, B, A), die reihum benutzt werden. Mit forceR bis forceA wählst du stattdessen einen bestimmten Kanal.

triggerBackgroundEventBig(pos? : Vec2f) base/tealdef/gui/menu/main_menu.d.tl:44

Hinweise

Startet den großen Effekt im animierten Hintergrund des Hauptmenüs (nur im Hauptmenü). pos ist standardmäßig die Mitte (0.5, 0.5). Liegt das letzte Hintergrundereignis weniger als 0,6 Sekunden zurück, passiert nichts.

CommonMenuParams.FadeInMode

enum base/tealdef/gui/menu/main_menu.d.tl:46

enum FadeInMode

Hinweise

Sichtbarkeit der Hauptseite, während das Hauptmenü eingeblendet wird.

Wert Beschreibung
"Invisible" Die Hauptseite ist noch verborgen (in den ersten Frames, damit Ruckler beim Übergang nicht zu sehen sind).
"FadeIn" Die Hauptseite wird eingeblendet.

GroupId

record global base/tealdef/gui/menu/main_menu.d.tl:53

global record GroupId

Hinweise

Kennzeichnet eine Gruppe von Spielständen, also alle Spielstände eines Spiels (manuelle Spielstände, automatische Spielstände usw.).

Felder

Name Typ Beschreibung
name string Gruppenname, aus den Namen der Spielstände gelesen (app.parseSavegameName(saveName).groupName).
prefix string Kennzeichnet die Herkunft der Gruppe. Die Ladeseite nimmt "!" für die Spielstände des Spielers und "?" für eingebaute Spielstände.

SaveGroup

record global base/tealdef/gui/menu/main_menu.d.tl:58

global record SaveGroup

Hinweise

Die Spielstände eines Spiels als Gruppe, wie savegame_react_util.groupSaves sie zurückgibt.

Felder

Name Typ Beschreibung
mostRecent SaveGameInfo Der neueste manuelle Spielstand der Gruppe. Gibt es keinen manuellen, ist es der neueste Spielstand beliebiger Art.
mostRecentIndex integer Index von mostRecent in saves.
saves {SaveGameInfo} Alle Spielstände der Gruppe, der neueste zuerst.
groupName GroupId Id der Gruppe.

GameEditionTextParam

record global base/tealdef/gui/menu/main_menu.d.tl:65

global record GameEditionTextParam

Hinweise

Welche Editionspakete installiert sind. Davon hängen das Logo und die Texte der Versionshinweise ab.

Felder

Name Typ Beschreibung
hasDeluxeDLC boolean True, wenn der Mod urbangames_deluxe_upgrade_pack installiert ist.
hasPreorderDLC boolean True, wenn der Mod urbangames_preorder_pack installiert ist.

ReleaseNoteData

record global base/tealdef/gui/menu/main_menu.d.tl:70

global record ReleaseNoteData

Hinweise

Inhalt des Fensters mit den Versionshinweisen, zurückgegeben von data(edition) in /gui/menu/configs/release_notes.lua.

Felder

Name Typ Beschreibung
infoItemsPerPage integer Wie viele Einträge auf einer Reiterseite des Fensters stehen.
updateMessageID integer Versionsnummer dieser Versionshinweise. Erhöhe sie mit jedem neuen Update.
title string Fenstertitel. Bei nil wird ein einzelnes Leerzeichen verwendet.
infoItems {InfoItem} Die Einträge in der angezeigten Reihenfolge.

ReleaseNoteData.InfoItem

record base/tealdef/gui/menu/main_menu.d.tl:71

record InfoItem

Hinweise

Eine Seite der Versionshinweise (Text, Bild oder beides).

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/gui/gui/menu/releasenotes_util.tl:8

releasenote_util.createElement = function(info : ReleaseNoteData.InfoItem, ref? : ReactRefWrap) : TreeNodeId

Felder

Name Typ Beschreibung
title string Überschrift des Eintrags. Optional.
description string Text des Eintrags, kann Inline-Hinweise enthalten. Optional.
image string Pfad eines Bildes, das neben dem Text steht (ohne description statt des Textes). Optional.
preferShaderQuadOverImage boolean Zeigt statt image das animierte Spiellogo (MenuUtil.EditionLogo).
leftImage boolean Setzt das Bild links statt rechts neben den Text.
filterOutVendor {string} Herstellernamen (umgewandelt mit api.util.string2Vendor). Läuft das Spiel auf einem davon, wird der Eintrag ausgeblendet.
filterOutPlatform {string} Plattformnamen (umgewandelt mit api.util.string2Platform). Auf diesen Plattformen wird der Eintrag ausgeblendet.
alignment string Style-Klasse für den Text, wenn kein Bild da ist, z. B. "left-align".
scrollable boolean Legt den Text in einen Scrollbereich.
background boolean Gibt dem Eintrag die Style-Klasse with-background.

ProgressData

record global base/tealdef/gui/menu/main_menu.d.tl:90

global record ProgressData

Hinweise

Mission und Spielstand, die der Ladebildschirm zeigt. Auch die Nutzdaten des GUI-Ereignisses SetProgressData.

Felder

Name Typ Beschreibung
mission ResName Missionsressource, die geladen wird. Daraus kommen Bild und Text des Ladebildschirms. Optional.
saveGameId SaveGameId Spielstand, der geladen wird. Sein Gruppenname erscheint als Titel. Optional.

MissionPageContentParam

record global base/tealdef/gui/menu/main_menu.d.tl:95

global record MissionPageContentParam

Hinweise

Parameter des Recipes für den Inhalt der Missionsseite (/gui/menu/mission_page_content.tl) auf der Kampagnenseite.

Felder

Name Typ Beschreibung
campaign string Ressourcenname der Kampagne. Fehlt .campaign, wird es angehängt.
mission string Ressourcenname der Mission. Fehlt .mission, wird es angehängt.

Funktionen

onLoad(onMount : function()) base/tealdef/gui/menu/main_menu.d.tl:98

Hinweise

Wird aufgerufen, wenn der Spieler die Mission startet oder fortsetzt.

Details

Das Argument ist eine Funktion, die die Mission oder den Spielstand tatsächlich lädt. Die Kampagnenseite wechselt zur ProgressPage und gibt diese Funktion als ProgressPageMissionParam.onMount mit. So beginnt das Laden erst, wenn der Ladebildschirm zu sehen ist.

IMenuPageParam

interface global base/tealdef/gui/menu/main_menu.d.tl:101

global interface IMenuPageParam

Hinweise

Parameter, die jedes Recipe einer Menüseite bekommt: die gemeinsamen commonParams und die seitenspezifischen params.

Felder

Name Typ Beschreibung
commonParams CommonMenuParams Dienste des Menüs, das die Seite anzeigt (Hauptmenü oder Pausenmenü).
params ISpecificParam Seitenspezifische Parameter, also das zweite Argument von CommonMenuParams.setPage. Kann nil sein.

IMenuPageParam.ISpecificParam

interface base/tealdef/gui/menu/main_menu.d.tl:103

interface ISpecificParam

Hinweise

Marker-Interface für die seitenspezifischen Parametertypen (etwa CampaignParam oder MainPageParam).

CampaignParam

record global base/tealdef/gui/menu/main_menu.d.tl:108

global record CampaignParam

Hinweise

Seitenparameter der Seite Campaign.

Felder

Name Typ Beschreibung
campaign string Anzuzeigende Kampagne. Bei nil wird die erste Kampagne genommen.
mission string Anzuzeigende Mission. Ist sie gesetzt, zeigt die Seite diese Mission statt der Kampagnenübersicht.
showEditorsNote boolean Zeigt die Seite mit der Anmerkung der Autoren. Sie erscheint auch, wenn der Spieler sie noch nicht gesehen hat.

ProgressPageMissionParam

record global base/tealdef/gui/menu/main_menu.d.tl:114

global record ProgressPageMissionParam

Hinweise

Seitenparameter der ProgressPage (Ladebildschirm).

Felder

Name Typ Beschreibung
mission ResName Mission, die geladen wird.
saveGameId SaveGameId Spielstand, der geladen wird.

Funktionen

onMount() base/tealdef/gui/menu/main_menu.d.tl:117

Hinweise

Wird einmal aufgerufen, im ersten Frame nach dem Erscheinen des Ladebildschirms. Damit startet das eigentliche Laden.

MainPageParam

record global base/tealdef/gui/menu/main_menu.d.tl:120

global record MainPageParam

Hinweise

Seitenparameter der Seite Main.

Felder

Name Typ Beschreibung
startWithReleaseNotes boolean Öffnet die Versionshinweise, wenn die Hauptseite erscheint. Das Hauptmenü setzt es beim Start, wenn es ungesehene Versionshinweise gibt.

record global base/tealdef/gui/menu/main_menu.d.tl:124

global record MenuPageParam<P is IMenuPageParam.ISpecificParam> is IMenuPageParam

Hinweise

IMenuPageParam mit typisiertem Feld params. Recipes von Seiten deklarieren ihren Parameter z. B. als MenuPageParam<CampaignParam>.

Felder

Name Typ Beschreibung
params P Seitenspezifische Parameter vom Typ P. Kann nil sein.