From 5a22f68f2be81d1fba6aaf0734958d898a8c1be5 Mon Sep 17 00:00:00 2001 From: Lance Ewing Date: Sun, 24 Mar 2024 06:36:05 +0000 Subject: [PATCH] Automatically enable joystick when game launched for web platform when device has touch screen. --- core/src/main/java/com/agifans/agile/GameScreen.java | 8 ++++++-- .../com/agifans/agile/ui/GameScreenInputProcessor.java | 10 ++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/agifans/agile/GameScreen.java b/core/src/main/java/com/agifans/agile/GameScreen.java index 20649e9..2bac3b0 100644 --- a/core/src/main/java/com/agifans/agile/GameScreen.java +++ b/core/src/main/java/com/agifans/agile/GameScreen.java @@ -184,8 +184,12 @@ public void show() { Gdx.input.setInputProcessor(landscapeInputProcessor); } - if (agileRunner.hasTouchScreen() && !Gdx.graphics.isFullscreen()) { - gameScreenInputProcessor.switchIntoFullScreen(); + if (agileRunner.hasTouchScreen()) { + gameScreenInputProcessor.setJoystickAlignment(JoystickAlignment.RIGHT); + + if (!Gdx.graphics.isFullscreen()) { + gameScreenInputProcessor.switchIntoFullScreen(); + } } agileRunner.start(appConfigItem.getFilePath()); diff --git a/core/src/main/java/com/agifans/agile/ui/GameScreenInputProcessor.java b/core/src/main/java/com/agifans/agile/ui/GameScreenInputProcessor.java index 4d57294..e08e3f4 100644 --- a/core/src/main/java/com/agifans/agile/ui/GameScreenInputProcessor.java +++ b/core/src/main/java/com/agifans/agile/ui/GameScreenInputProcessor.java @@ -541,6 +541,16 @@ public JoystickAlignment getJoystickAlignment() { return joystickAlignment; } + /** + * Sets the current joystick screen alignment, i.e. where to place it on the + * screen (left aligned, middle aligned, right aligned, or turned off) + * + * @param joystickAlignment + */ + public void setJoystickAlignment(JoystickAlignment joystickAlignment) { + this.joystickAlignment = joystickAlignment; + } + public static enum JoystickAlignment { OFF, RIGHT, MIDDLE, LEFT;