Index: binaries/data/mods/public/gui/replaymenu/replay_actions.js =================================================================== --- binaries/data/mods/public/gui/replaymenu/replay_actions.js +++ binaries/data/mods/public/gui/replaymenu/replay_actions.js @@ -127,9 +127,9 @@ "dialog": false, "isReplay": true, "replayDirectory": g_ReplaysFiltered[selected].directory, - "replaySelectionData": createReplaySelectionData(g_ReplaysFiltered[selected].directory) - }, - "selectedData": g_SummarySelectedData + "replaySelectionData": createReplaySelectionData(g_ReplaysFiltered[selected].directory), + "summarySelection": g_SummarySelection + } }); } Index: binaries/data/mods/public/gui/replaymenu/replay_menu.js =================================================================== --- binaries/data/mods/public/gui/replaymenu/replay_menu.js +++ binaries/data/mods/public/gui/replaymenu/replay_menu.js @@ -51,7 +51,7 @@ /** * Remember the name of the currently opened view panel. */ -var g_SummarySelectedData = ""; +var g_SummarySelection; /** * Initializes globals, loads replays and displays the list. @@ -64,6 +64,8 @@ return; } + g_SummarySelection = data && data.summarySelection; + loadReplays(data && data.replaySelectionData, false); if (!g_Replays) @@ -74,9 +76,6 @@ initHotkeyTooltips(); displayReplayList(); - - if (data && data.summarySelectedData) - g_SummarySelectedData = data.summarySelectedData; } /** Index: binaries/data/mods/public/gui/session/menu.js =================================================================== --- binaries/data/mods/public/gui/session/menu.js +++ binaries/data/mods/public/gui/session/menu.js @@ -61,7 +61,7 @@ /** * Currently viewed summary panel. */ -var g_SummarySelectedData = ""; +var g_SummarySelection; // Redefined every time someone makes a tribute (so we can save some data in a closure). Called in input.js handleInputBeforeGui. var g_FlushTributing = function() {}; @@ -1089,9 +1089,9 @@ }, "gui": { "dialog": true, - "isInGame": true + "isInGame": true, + "summarySelection": g_SummarySelection }, - "selectedData": g_SummarySelectedData, "callback": "resumeGameAndSaveSummarySelectedData" }); } @@ -1142,8 +1142,8 @@ function resumeGameAndSaveSummarySelectedData(data) { - g_SummarySelectedData = data.summarySelectedData; - resumeGame(data.explicitResume); + g_SummarySelection = data.summarySelection; + resumeGame(data.explicitResume); } /** Index: binaries/data/mods/public/gui/summary/summary.js =================================================================== --- binaries/data/mods/public/gui/summary/summary.js +++ binaries/data/mods/public/gui/summary/summary.js @@ -112,47 +112,55 @@ var g_Teams = []; -// TODO set g_PlayerCount as playerCounters.length -var g_PlayerCount = 0; +var g_PlayerCount; var g_GameData; var g_ResourceData = new Resources(); -// Selected chart indexes +/** + * Selected chart indices. + */ var g_SelectedChart = { "category": [0, 0], "value": [0, 1], "type": [0, 0] }; -/* +/** * Array of the panel button names. */ var g_PanelButtons = []; -/* +/** * Remember the name of the currently opened view panel. */ -var g_SelectedPanel = ""; +var g_SelectedPanel; function init(data) { - // Fill globals + initSummaryData(data); + initGUISummary(); +} + +function initSummaryData(data) +{ g_GameData = data; g_ScorePanelsData = getScorePanelsData(); g_PanelButtons = Object.keys(g_ScorePanelsData).concat(["charts"]).map(panel => panel + "PanelButton"); g_SelectedPanel = g_PanelButtons[0]; - if (data && data.selectedData) + if (data && data.summarySelection) { - g_SelectedPanel = data.selectedData.panel; - g_SelectedChart = data.selectedData.charts; + g_SelectedPanel = data.gui.summarySelection.panel; + g_SelectedChart = data.gui.summarySelection.charts; } initTeamData(); calculateTeamCounterDataHelper(); +} - // Output globals +function initGUISummary() +{ initGUIWindow(); initPlayerBoxPositions(); initGUICharts(); @@ -446,21 +454,22 @@ function continueButton() { - let summarySelectedData = { + let summarySelection = { "panel": g_SelectedPanel, "charts": g_SelectedChart }; + if (g_GameData.gui.isInGame) Engine.PopGuiPageCB({ "explicitResume": 0, - "summarySelectedData": summarySelectedData + "summarySelection": summarySelection }); else if (g_GameData.gui.dialog) Engine.PopGuiPage(); else if (g_GameData.gui.isReplay) Engine.SwitchGuiPage("page_replaymenu.xml", { "replaySelectionData": g_GameData.gui.replaySelectionData, - "summarySelectedData": summarySelectedData + "summarySelection": summarySelection }); else if (Engine.HasXmppClient()) Engine.SwitchGuiPage("page_lobby.xml");