From 0353f2a3ed9a3f16f234e2224d895c43a0835354 Mon Sep 17 00:00:00 2001 From: Dale Hunt Date: Mon, 26 Feb 2024 18:33:50 +0000 Subject: [PATCH 1/3] Centered Menu/Menu Content based on window width --- .../main/java/intermediate/MenuSample.java | 3 ++- .../generated => java}/BuildProperties.java | 0 .../almasb/fxgl/app/scene/FXGLDefaultMenu.kt | 23 ++++++++++++++++--- 3 files changed, 22 insertions(+), 4 deletions(-) rename fxgl/src/main/{java-templates/com/almasb/fxgl/generated => java}/BuildProperties.java (100%) diff --git a/fxgl-samples/src/main/java/intermediate/MenuSample.java b/fxgl-samples/src/main/java/intermediate/MenuSample.java index 1ad3dab48d..26d930f7cc 100644 --- a/fxgl-samples/src/main/java/intermediate/MenuSample.java +++ b/fxgl-samples/src/main/java/intermediate/MenuSample.java @@ -24,10 +24,11 @@ public class MenuSample extends GameApplication { @Override protected void initSettings(GameSettings settings) { - settings.setWidth(800); + settings.setWidth(1920); settings.setHeight(600); settings.setMainMenuEnabled(true); settings.setGameMenuEnabled(true); + settings.setManualResizeEnabled(true); settings.setFullScreenAllowed(true); settings.setEnabledMenuItems(EnumSet.of(MenuItem.EXTRA)); settings.getCredits().addAll(Arrays.asList( diff --git a/fxgl/src/main/java-templates/com/almasb/fxgl/generated/BuildProperties.java b/fxgl/src/main/java/BuildProperties.java similarity index 100% rename from fxgl/src/main/java-templates/com/almasb/fxgl/generated/BuildProperties.java rename to fxgl/src/main/java/BuildProperties.java diff --git a/fxgl/src/main/kotlin/com/almasb/fxgl/app/scene/FXGLDefaultMenu.kt b/fxgl/src/main/kotlin/com/almasb/fxgl/app/scene/FXGLDefaultMenu.kt index 52363b8cdb..2e6a311dcf 100644 --- a/fxgl/src/main/kotlin/com/almasb/fxgl/app/scene/FXGLDefaultMenu.kt +++ b/fxgl/src/main/kotlin/com/almasb/fxgl/app/scene/FXGLDefaultMenu.kt @@ -60,6 +60,11 @@ import java.util.function.Supplier * * @author Almas Baimagambetov (AlmasB) (almaslvl@gmail.com) */ + +// CONSTANTS +private const val BUTTON_WIDTH = 200; // Size from FXGLButton.java +private const val MENU_PADDING = 50; +private const val MAX_CONTENT_SIZE = 500.0 // Based on Credits Box. open class FXGLDefaultMenu(type: MenuType) : FXGLMenu(type) { companion object { @@ -89,13 +94,25 @@ open class FXGLDefaultMenu(type: MenuType) : FXGLMenu(type) { else createMenuBodyGameMenu() - val menuX = 50.0 - val menuY = appHeight / 2.0 - menu.layoutHeight / 2 + var menuX = 0.0 + val menuY = appHeight / 2.0 - menu.layoutHeight / 2; + var menuContentX = 0.0 + + if (appWidth >= 1200) + { + menuX = appWidth / 2.0 - BUTTON_WIDTH - MENU_PADDING; + menuContentX = appWidth / 2.0 + MENU_PADDING; + } + else + { + menuX = (appWidth - (BUTTON_WIDTH + MENU_PADDING * 2 + MAX_CONTENT_SIZE)) / 2 + menuContentX = menuX + BUTTON_WIDTH + MENU_PADDING * 2 + } menuRoot.translateX = menuX menuRoot.translateY = menuY - menuContentRoot.translateX = appWidth - 500.0 + menuContentRoot.translateX = menuContentX menuContentRoot.translateY = menuY initParticles() From cab846794c3eb591a919fc63c6a864a88f6b86f5 Mon Sep 17 00:00:00 2001 From: Dale Hunt Date: Tue, 27 Feb 2024 09:28:09 +0000 Subject: [PATCH 2/3] Reverted back to default window size and removed resizable setting --- fxgl-samples/src/main/java/intermediate/MenuSample.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fxgl-samples/src/main/java/intermediate/MenuSample.java b/fxgl-samples/src/main/java/intermediate/MenuSample.java index 26d930f7cc..1ad3dab48d 100644 --- a/fxgl-samples/src/main/java/intermediate/MenuSample.java +++ b/fxgl-samples/src/main/java/intermediate/MenuSample.java @@ -24,11 +24,10 @@ public class MenuSample extends GameApplication { @Override protected void initSettings(GameSettings settings) { - settings.setWidth(1920); + settings.setWidth(800); settings.setHeight(600); settings.setMainMenuEnabled(true); settings.setGameMenuEnabled(true); - settings.setManualResizeEnabled(true); settings.setFullScreenAllowed(true); settings.setEnabledMenuItems(EnumSet.of(MenuItem.EXTRA)); settings.getCredits().addAll(Arrays.asList( From 5893db0b5aa5bcd87b041bf45290c77fab5919d7 Mon Sep 17 00:00:00 2001 From: Dale <95256492+DaleHuntGB@users.noreply.github.com> Date: Tue, 27 Feb 2024 21:01:34 +0000 Subject: [PATCH 3/3] Delete fxgl/src/main/java/BuildProperties.java Removed BuildProperties file. --- fxgl/src/main/java/BuildProperties.java | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 fxgl/src/main/java/BuildProperties.java diff --git a/fxgl/src/main/java/BuildProperties.java b/fxgl/src/main/java/BuildProperties.java deleted file mode 100644 index b8f9ed567e..0000000000 --- a/fxgl/src/main/java/BuildProperties.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * FXGL - JavaFX Game Library. The MIT License (MIT). - * Copyright (c) AlmasB (almaslvl@gmail.com). - * See LICENSE for details. - */ - -package com.almasb.fxgl.generated; - -/** - * Stores properties that are filtered (populated) by templating-maven-plugin from pom.xml - * during build. - * - * @author Almas Baimagambetov (AlmasB) (almaslvl@gmail.com) - */ -public final class BuildProperties { - - public static final String VERSION = "${project.version}"; - public static final String BUILD = "${timestamp}"; -}