1
0
forked from mirrors/0ad

Remove Engine.SwitchGuiPage from main menu

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