From 485f1e4c77c7eb04fa5a69c801d64be0183f1c07 Mon Sep 17 00:00:00 2001 From: Moka Date: Fri, 29 Nov 2024 16:44:07 +0100 Subject: [PATCH] change settings message box to display 2 lines with word wrap --- src/ui/settings/abstract-settings-ui-handler.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/ui/settings/abstract-settings-ui-handler.ts b/src/ui/settings/abstract-settings-ui-handler.ts index 9d18a279681..cbc93887810 100644 --- a/src/ui/settings/abstract-settings-ui-handler.ts +++ b/src/ui/settings/abstract-settings-ui-handler.ts @@ -135,18 +135,19 @@ export default class AbstractSettingsUiHandler extends MessageUiHandler { this.scrollBar = new ScrollBar(this.scene, this.optionsBg.width - 9, this.optionsBg.y + 5, 4, this.optionsBg.height - 11, this.rowsToDisplay); this.scrollBar.setTotalRows(this.settings.length); - // Single-line message box + // Two-lines message box this.messageBoxContainer = this.scene.add.container(0, this.scene.scaledCanvas.height); this.messageBoxContainer.setName("settings-message-box"); this.messageBoxContainer.setVisible(false); - const settingsMessageBox = addWindow(this.scene, 0, -1, this.scene.scaledCanvas.width - 2, 28); + const settingsMessageBox = addWindow(this.scene, 0, -1, this.scene.scaledCanvas.width - 2, 48); settingsMessageBox.setOrigin(0, 1); this.messageBoxContainer.add(settingsMessageBox); - const messageText = addTextObject(this.scene, 8, -8, "", TextStyle.WINDOW); - messageText.setOrigin(0, 1); + const messageText = addTextObject(this.scene, 8, -40, "", TextStyle.WINDOW, { maxLines: 2 }); + messageText.setWordWrapWidth(this.scene.game.canvas.width - 60); messageText.setName("settings-message"); + messageText.setOrigin(0, 0); this.messageBoxContainer.add(messageText); this.message = messageText; @@ -374,7 +375,7 @@ export default class AbstractSettingsUiHandler extends MessageUiHandler { } }; - // For settings that ask for confirmation + // For settings that ask for confirmation, display confirmation message and a Yes/No prompt before saving the setting if (setting.options[cursor].needConfirmation) { const confirmUpdateSetting = () => { this.scene.ui.revertMode(); @@ -390,8 +391,7 @@ export default class AbstractSettingsUiHandler extends MessageUiHandler { const confirmationMessage = setting.options[cursor].confirmationMessage ?? i18next.t("settings:defaultConfirmMessage"); this.scene.ui.showText(confirmationMessage, null, () => { - const yOffset = 48 - this.messageBoxContainer.getAt(0).height; - this.scene.ui.setOverlayMode(Mode.CONFIRM, confirmUpdateSetting, cancelUpdateSetting, null, null, yOffset, 1000); + this.scene.ui.setOverlayMode(Mode.CONFIRM, confirmUpdateSetting, cancelUpdateSetting, null, null, 1, 750); }); } else { saveSetting();