From 2ff1d993be8a1836c37509513d76c95b787ea135 Mon Sep 17 00:00:00 2001 From: bb Date: Mon, 23 Apr 2018 14:51:09 +0000 Subject: [PATCH] Split the sliding logic from the moving logic for the settingsPanel in gamesetup Preparation for D1243 This was SVN commit r21769. --- .../mods/public/gui/gamesetup/gamesetup.js | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/binaries/data/mods/public/gui/gamesetup/gamesetup.js b/binaries/data/mods/public/gui/gamesetup/gamesetup.js index a8542768b4..510133b9ca 100644 --- a/binaries/data/mods/public/gui/gamesetup/gamesetup.js +++ b/binaries/data/mods/public/gui/gamesetup/gamesetup.js @@ -1253,10 +1253,9 @@ function initGUIObjects() } /** - * Slide settings panel. * @param {number} dt - Time in milliseconds since last call. */ -function updateSettingsPanelPosition(dt) +function slideSettingsPanel(dt) { let slideSpeed = Engine.ConfigDB_GetValue("user", "gui.gamesetup.settingsslide") == "true" ? g_SlideSpeed : Infinity; @@ -1278,20 +1277,30 @@ function updateSettingsPanelPosition(dt) offset = -Math.min(slideSpeed * dt, maxOffset); } - let size = settingsPanel.size; - size.left += offset; - size.right += offset; - settingsPanel.size = size; + updateSettingsPanelPosition(offset); +} + +/** + * Directly change the position of the settingsPanel. + * @param {number} offset - Number of pixels the panel needs to move. + */ +function updateSettingsPanelPosition(offset) +{ + let settingsPanel = Engine.GetGUIObjectByName("settingsPanel"); + let settingsPanelSize = settingsPanel.size; + settingsPanelSize.left += offset; + settingsPanelSize.right += offset; + settingsPanel.size = settingsPanelSize; let settingsBackground = Engine.GetGUIObjectByName("settingsBackground"); let backgroundSize = settingsBackground.size; - backgroundSize.left = size.left; + backgroundSize.left = settingsPanelSize.left; settingsBackground.size = backgroundSize; let chatPanel = Engine.GetGUIObjectByName("chatPanel"); let chatSize = chatPanel.size; - chatSize.right = size.left - g_ChatSettingsMargin; + chatSize.right = settingsPanelSize.left - g_ChatSettingsMargin; chatPanel.size = chatSize; chatPanel.hidden = g_MiscControls.chatPanel.hidden(); @@ -1951,7 +1960,7 @@ function onTick() let tickLength = now - g_LastTickTime; g_LastTickTime = now; - updateSettingsPanelPosition(tickLength); + slideSettingsPanel(tickLength); } /**