Remove Engine.SwitchGuiPage from main menu

This commit is contained in:
phosit 2025-04-23 14:10:23 +02:00
parent 3d8971daca
commit c1a50c7012
No known key found for this signature in database
GPG key ID: C9430B600671C268

View file

@ -14,24 +14,29 @@ export const mainMenuItems = [
{
"caption": translate("Tutorial"),
"tooltip": translate("Start the introductory tutorial."),
"onPress": () =>
"onPress": closePageCallback =>
{
Engine.SwitchGuiPage("page_autostart.xml", {
"attribs": {
"mapType": "scenario",
"map": "maps/tutorials/introductory_tutorial",
"settings": {
"CheatsEnabled": true
closePageCallback({ [Engine.openRequest]: {
"page": "page_autostart.xml",
"argument": {
"attribs": {
"mapType": "scenario",
"map": "maps/tutorials/introductory_tutorial",
"settings": {
"CheatsEnabled": true
},
},
},
"playerAssignments": {
"local": {
"player": 1,
"name": Engine.ConfigDB_GetValue("user", "playername.singleplayer") || Engine.GetSystemUsername()
}
},
"storeReplay": true
});
"playerAssignments": {
"local": {
"player": 1,
"name": Engine.ConfigDB_GetValue("user",
"playername.singleplayer") ||
Engine.GetSystemUsername()
}
},
"storeReplay": true
}
} });
}
},
{
@ -80,11 +85,13 @@ export const mainMenuItems = [
{
"caption": translate("Continue Campaign"),
"tooltip": translate("Relive history through historical military campaigns."),
"onPress": () =>
"onPress": closePageCallback =>
{
try
{
Engine.SwitchGuiPage(CampaignRun.getCurrentRun().getMenuPath());
closePageCallback({ [Engine.openRequest]: {
"page": CampaignRun.getCurrentRun().getMenuPath()
} });
}
catch(err)
{
@ -101,15 +108,17 @@ export const mainMenuItems = [
{
"caption": translate("Matches"),
"tooltip": translate("Start a new single-player game."),
"onPress": () =>
"onPress": closePageCallback =>
{
Engine.SwitchGuiPage("page_gamesetup.xml");
closePageCallback({ [Engine.openRequest]: {
"page": "page_gamesetup.xml"
} });
}
},
{
"caption": translate("Load Game"),
"tooltip": translate("Load a saved game."),
"onPress": async() =>
"onPress": async(closePageCallback) =>
{
const gameId = await Engine.OpenChildPage("page_loadgame.xml");
@ -123,28 +132,33 @@ export const mainMenuItems = [
return;
}
Engine.SwitchGuiPage("page_loading.xml", {
"attribs": metadata.initAttributes,
"playerAssignments": {
"local": {
"name": metadata.initAttributes.settings.
PlayerData[metadata.playerID]?.Name ??
singleplayerName(),
"player": metadata.playerID
}
},
"savedGUIData": metadata.gui
});
closePageCallback({ [Engine.openRequest]: {
"page": "page_loading.xml",
"argument": {
"attribs": metadata.initAttributes,
"playerAssignments": {
"local": {
"name": metadata.initAttributes.settings.
PlayerData[metadata.playerID]?.Name ??
singleplayerName(),
"player": metadata.playerID
}
},
"savedGUIData": metadata.gui
}
} });
}
},
{
"caption": translate("Continue Campaign"),
"tooltip": translate("Relive history through historical military campaigns."),
"onPress": () =>
"onPress": closePageCallback =>
{
try
{
Engine.SwitchGuiPage(CampaignRun.getCurrentRun().getMenuPath());
closePageCallback({ [Engine.openRequest]: {
"page": CampaignRun.getCurrentRun().getMenuPath()
} });
}
catch(err)
{
@ -157,34 +171,42 @@ export const mainMenuItems = [
{
"caption": translate("New Campaign"),
"tooltip": translate("Relive history through historical military campaigns."),
"onPress": () =>
"onPress": closePageCallback =>
{
Engine.SwitchGuiPage("campaigns/setup/page.xml");
closePageCallback({ [Engine.openRequest]: {
"page": "campaigns/setup/page.xml"
} });
}
},
{
"caption": translate("Load Campaign"),
"tooltip": translate("Relive history through historical military campaigns."),
"onPress": () =>
"onPress": closePageCallback =>
{
// Switch instead of push, otherwise the 'continue'
// button might remain enabled.
// Replace the main menu page instead of opening a child page, otherwise the
// "Continue Campaign" button could wrongly remain enabled when it's closed
// again.
// TODO: find a better solution.
Engine.SwitchGuiPage("campaigns/load_modal/page.xml");
closePageCallback({ [Engine.openRequest]: {
"page": "campaigns/load_modal/page.xml"
} });
}
},
{
"caption": translate("Replays"),
"tooltip": translate("Playback previous games."),
"onPress": () =>
"onPress": closePageCallback =>
{
Engine.SwitchGuiPage("page_replaymenu.xml", {
"replaySelectionData": {
"filters": {
"singleplayer": "Single-player"
closePageCallback({ [Engine.openRequest]: {
"page": "page_replaymenu.xml",
"argument": {
"replaySelectionData": {
"filters": {
"singleplayer": "Single-player"
}
}
}
});
} });
}
}
]
@ -233,15 +255,18 @@ export const mainMenuItems = [
{
"caption": translate("Replays"),
"tooltip": translate("Playback previous games."),
"onPress": () =>
"onPress": closePageCallback =>
{
Engine.SwitchGuiPage("page_replaymenu.xml", {
"replaySelectionData": {
"filters": {
"singleplayer": "Multiplayer"
closePageCallback({ [Engine.openRequest]: {
"page": "page_replaymenu.xml",
"argument": {
"replaySelectionData": {
"filters": {
"singleplayer": "Multiplayer"
}
}
}
});
} });
}
}
]
@ -277,17 +302,21 @@ export const mainMenuItems = [
{
"caption": translate("Mod Selection"),
"tooltip": translate("Select and download mods for the game."),
"onPress": () =>
"onPress": closePageCallback =>
{
Engine.SwitchGuiPage("page_modmod.xml");
closePageCallback({ [Engine.openRequest]: {
"page": "page_modmod.xml"
} });
}
},
{
"caption": translate("Welcome Screen"),
"tooltip": translate("Show the Welcome Screen again. Useful if you hid it by mistake."),
"onPress": () =>
"onPress": closePageCallback =>
{
Engine.OpenChildPage("page_splashscreen.xml");
closePageCallback({ [Engine.openRequest]: {
"page": "page_splashscreen.xml"
} });
}
}
]