forked from mirrors/0ad
Remove Engine.SwitchGuiPage from summary
This commit is contained in:
@@ -135,23 +135,30 @@ var g_SelectedChart = {
|
|||||||
"type": [0, 0]
|
"type": [0, 0]
|
||||||
};
|
};
|
||||||
|
|
||||||
async function init(data)
|
function init(data)
|
||||||
{
|
{
|
||||||
initSummaryData(data);
|
initSummaryData(data);
|
||||||
initGUISummary();
|
initGUISummary();
|
||||||
|
|
||||||
while (true)
|
return new Promise(closePageCallback =>
|
||||||
{
|
{
|
||||||
const branchless = await new Promise(resolve =>
|
const onClick = branchless =>
|
||||||
{
|
{
|
||||||
Engine.GetGUIObjectByName("continueButton").onPress = resolve.bind(null, true);
|
if (branchless === undefined)
|
||||||
Engine.GetGUIObjectByName("summaryHotkey").onPress = resolve.bind(null, true);
|
{
|
||||||
Engine.GetGUIObjectByName("cancelHotkey").onPress = resolve.bind(null, false);
|
const pageRequest = startReplay();
|
||||||
});
|
if (pageRequest !== undefined)
|
||||||
|
closePageCallback(pageRequest);
|
||||||
if (branchless || data.gui.isInGame)
|
return;
|
||||||
return continueButton(data);
|
|
||||||
}
|
}
|
||||||
|
if (branchless || data.gui.isInGame)
|
||||||
|
closePageCallback(continueButton(data));
|
||||||
|
};
|
||||||
|
Engine.GetGUIObjectByName("continueButton").onPress = onClick.bind(null, true);
|
||||||
|
Engine.GetGUIObjectByName("summaryHotkey").onPress = onClick.bind(null, true);
|
||||||
|
Engine.GetGUIObjectByName("cancelHotkey").onPress = onClick.bind(null, false);
|
||||||
|
Engine.GetGUIObjectByName("replayButton").onPress = onClick;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function initSummaryData(data)
|
function initSummaryData(data)
|
||||||
@@ -472,19 +479,23 @@ function continueButton(gameData)
|
|||||||
};
|
};
|
||||||
if (gameData.gui.dialog)
|
if (gameData.gui.dialog)
|
||||||
return undefined;
|
return undefined;
|
||||||
else if (Engine.HasXmppClient())
|
if (Engine.HasXmppClient())
|
||||||
Engine.SwitchGuiPage("page_lobby.xml", { "dialog": false });
|
return { [Engine.openRequest]: { "page": "page_lobby.xml", "argument": { "dialog": false } } };
|
||||||
else if (gameData.gui.isReplay)
|
if (gameData.gui.isReplay)
|
||||||
Engine.SwitchGuiPage("page_replaymenu.xml", {
|
return { [Engine.openRequest]: {
|
||||||
|
"page": "page_replaymenu.xml",
|
||||||
|
"argument": {
|
||||||
"replaySelectionData": gameData.gui.replaySelectionData,
|
"replaySelectionData": gameData.gui.replaySelectionData,
|
||||||
"summarySelection": summarySelection
|
"summarySelection": summarySelection
|
||||||
});
|
}
|
||||||
else if (gameData.campaignData)
|
} };
|
||||||
Engine.SwitchGuiPage(gameData.nextPage, gameData.campaignData);
|
if (gameData.campaignData)
|
||||||
else
|
return { [Engine.openRequest]: {
|
||||||
Engine.SwitchGuiPage("page_pregame.xml");
|
"page": gameData.nextPage,
|
||||||
|
"argument": gameData.campaignData
|
||||||
|
} };
|
||||||
|
|
||||||
return undefined;
|
return { [Engine.openRequest]: { "page": "page_pregame.xml" } };
|
||||||
}
|
}
|
||||||
|
|
||||||
function startReplay()
|
function startReplay()
|
||||||
@@ -492,10 +503,12 @@ function startReplay()
|
|||||||
if (!Engine.StartVisualReplay(g_GameData.gui.replayDirectory))
|
if (!Engine.StartVisualReplay(g_GameData.gui.replayDirectory))
|
||||||
{
|
{
|
||||||
warn("Replay file not found!");
|
warn("Replay file not found!");
|
||||||
return;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
Engine.SwitchGuiPage("page_loading.xml", {
|
return { [Engine.openRequest]: {
|
||||||
|
"page": "page_loading.xml",
|
||||||
|
"argument": {
|
||||||
"attribs": Engine.GetReplayAttributes(g_GameData.gui.replayDirectory),
|
"attribs": Engine.GetReplayAttributes(g_GameData.gui.replayDirectory),
|
||||||
"playerAssignments": {
|
"playerAssignments": {
|
||||||
"local": {
|
"local": {
|
||||||
@@ -506,7 +519,8 @@ function startReplay()
|
|||||||
"savedGUIData": "",
|
"savedGUIData": "",
|
||||||
"isReplay": true,
|
"isReplay": true,
|
||||||
"replaySelectionData": g_GameData.gui.replaySelectionData
|
"replaySelectionData": g_GameData.gui.replaySelectionData
|
||||||
});
|
}
|
||||||
|
} };
|
||||||
}
|
}
|
||||||
|
|
||||||
function initGUILabels()
|
function initGUILabels()
|
||||||
|
|||||||
@@ -178,7 +178,6 @@
|
|||||||
|
|
||||||
<object type="button" name="replayButton" style="ModernButtonRed" size="100%-410 100%-48 100%-210 100%-20" z="50">
|
<object type="button" name="replayButton" style="ModernButtonRed" size="100%-410 100%-48 100%-210 100%-20" z="50">
|
||||||
<translatableAttribute id="caption">Watch Replay</translatableAttribute>
|
<translatableAttribute id="caption">Watch Replay</translatableAttribute>
|
||||||
<action on="Press">startReplay();</action>
|
|
||||||
</object>
|
</object>
|
||||||
|
|
||||||
<object type="button" name="continueButton" style="ModernButtonRed" size="100%-200 100%-48 100%-20 100%-20" z="50">
|
<object type="button" name="continueButton" style="ModernButtonRed" size="100%-200 100%-48 100%-20 100%-20" z="50">
|
||||||
|
|||||||
Reference in New Issue
Block a user