From f024ba48667d05534057979f372b394b6ae8afcb Mon Sep 17 00:00:00 2001 From: Felix Koppe Date: Fri, 29 Nov 2024 14:01:18 +0100 Subject: [PATCH] Add preferences and sounds --- .../src/main/java/pp/mdga/client/MdgaApp.java | 7 --- .../mdga/client/acoustic/AcousticHandler.java | 24 +++++++++- .../pp/mdga/client/acoustic/MdgaSound.java | 6 ++- .../pp/mdga/client/acoustic/SoundAsset.java | 6 ++- .../pp/mdga/client/button/ClickButton.java | 5 +- .../client/dialog/AudioSettingsDialog.java | 4 +- .../pp/mdga/client/dialog/HostDialog.java | 8 +++- .../pp/mdga/client/dialog/JoinDialog.java | 12 ++++- .../pp/mdga/client/view/CeremonyView.java | 3 ++ .../java/pp/mdga/client/view/GameView.java | 3 ++ .../java/pp/mdga/client/view/LobbyView.java | 22 +++++++-- .../java/pp/mdga/client/view/MainView.java | 44 +++++++++++++++--- .../src/main/resources/Sounds/error_sound.ogg | Bin 0 -> 16602 bytes .../src/main/resources/Sounds/gamestart.ogg | Bin 0 -> 19523 bytes .../src/main/resources/Sounds/menu_button.ogg | Bin 0 -> 7149 bytes .../src/main/resources/Sounds/uiclick.ogg | Bin 0 -> 5427 bytes 16 files changed, 118 insertions(+), 26 deletions(-) create mode 100644 Projekte/mdga/client/src/main/resources/Sounds/error_sound.ogg create mode 100644 Projekte/mdga/client/src/main/resources/Sounds/gamestart.ogg create mode 100644 Projekte/mdga/client/src/main/resources/Sounds/menu_button.ogg create mode 100644 Projekte/mdga/client/src/main/resources/Sounds/uiclick.ogg diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/MdgaApp.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/MdgaApp.java index 4a4ef96b..9efceb3e 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/MdgaApp.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/MdgaApp.java @@ -1,18 +1,11 @@ package pp.mdga.client; import com.jme3.app.SimpleApplication; -import com.jme3.renderer.RenderManager; import com.simsilica.lemur.GuiGlobals; import pp.mdga.client.acoustic.AcousticHandler; import pp.mdga.client.animation.AnimationHandler; import com.jme3.system.AppSettings; import pp.mdga.client.view.*; -import pp.mdga.game.Color; -import pp.mdga.notification.*; - -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; public class MdgaApp extends SimpleApplication { private AnimationHandler animationHandler; diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/acoustic/AcousticHandler.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/acoustic/AcousticHandler.java index fcec93d3..fbf78b2f 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/acoustic/AcousticHandler.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/acoustic/AcousticHandler.java @@ -5,6 +5,7 @@ import pp.mdga.client.MdgaState; import java.util.*; +import java.util.prefs.Preferences; public class AcousticHandler { private MdgaApp app; @@ -29,8 +30,14 @@ public class AcousticHandler { private ArrayList sounds = new ArrayList<>(); + private Preferences prefs = Preferences.userNodeForPackage(AcousticHandler.class); + public AcousticHandler(MdgaApp app) { this.app = app; + + mainVolume = prefs.getFloat("mainVolume", 1.0f); + musicVolume = prefs.getFloat("musicVolume", 1.0f); + soundVolume = prefs.getFloat("soundVolume", 1.0f); } /** @@ -67,7 +74,19 @@ public void playSound(MdgaSound sound) { assets.add(new SoundAssetDelayVolume(SoundAsset.LOST, 1.0f, 0.0f)); break; case VICTORY: - assets.add(new SoundAssetDelayVolume(SoundAsset.VICTORY, 1.0f, 2.0f)); + assets.add(new SoundAssetDelayVolume(SoundAsset.VICTORY, 1.0f, 0.0f)); + break; + case BUTTON_PRESSED: + assets.add(new SoundAssetDelayVolume(SoundAsset.BUTTON_PRESS, 0.7f, 0.0f)); + break; + case WRONG_INPUT: + assets.add(new SoundAssetDelayVolume(SoundAsset.ERROR, 1.0f, 0.0f)); + break; + case UI_CLICK: + assets.add(new SoundAssetDelayVolume(SoundAsset.UI_CLICK, 0.8f, 0.0f)); + break; + case START: + assets.add(new SoundAssetDelayVolume(SoundAsset.START, 0.8f, 0.2f)); break; default: @@ -362,6 +381,7 @@ public float getSoundVolume() { */ public void setMainVolume(float mainVolume) { this.mainVolume = mainVolume; + prefs.putFloat("mainVolume", mainVolume); } /** @@ -371,6 +391,7 @@ public void setMainVolume(float mainVolume) { */ public void setMusicVolume(float musicVolume) { this.musicVolume = musicVolume; + prefs.putFloat("musicVolume", musicVolume); } /** @@ -380,6 +401,7 @@ public void setMusicVolume(float musicVolume) { */ public void setSoundVolume(float soundVolume) { this.soundVolume = soundVolume; + prefs.putFloat("soundVolume", soundVolume); } /** diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/acoustic/MdgaSound.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/acoustic/MdgaSound.java index 6f39f04c..0a4949f3 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/acoustic/MdgaSound.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/acoustic/MdgaSound.java @@ -19,5 +19,9 @@ public enum MdgaSound { DESELECT, HURRY, VICTORY, - LOST + LOST, + BUTTON_PRESSED, + WRONG_INPUT, + UI_CLICK, + START, } diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/acoustic/SoundAsset.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/acoustic/SoundAsset.java index ce4e6c23..c931215a 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/acoustic/SoundAsset.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/acoustic/SoundAsset.java @@ -17,7 +17,11 @@ enum SoundAsset { DESELECT(""), HURRY(""), VICTORY("LevelUp2.wav"), - LOST("GameOver.wav"); + LOST("GameOver.wav"), + BUTTON_PRESS("menu_button.ogg"), + ERROR("error_sound.ogg"), + UI_CLICK("uiclick.ogg"), + START("gamestart.ogg"); private final String path; diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/button/ClickButton.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/button/ClickButton.java index 0b1fe1e6..08fb544d 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/button/ClickButton.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/button/ClickButton.java @@ -8,6 +8,7 @@ import com.simsilica.lemur.VAlignment; import com.simsilica.lemur.component.QuadBackgroundComponent; import pp.mdga.client.MdgaApp; +import pp.mdga.client.acoustic.MdgaSound; public abstract class ClickButton extends AbstractButton { protected final Runnable action; @@ -27,7 +28,7 @@ public abstract class ClickButton extends AbstractButton { instance = new Button(label); - instance.addClickCommands((button) -> action.run()); + instance.addClickCommands((button) -> { app.getAcousticHandler().playSound(MdgaSound.BUTTON_PRESSED); action.run(); }); instance.setTextHAlignment(HAlignment.Center); instance.setTextVAlignment(VAlignment.Center); @@ -66,6 +67,8 @@ protected void click() { QuadBackgroundComponent background = new QuadBackgroundComponent(BUTTON_PRESSED); instance.setBackground(background); + app.getAcousticHandler().playSound(MdgaSound.UI_CLICK); + onHover(); }; diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/dialog/AudioSettingsDialog.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/dialog/AudioSettingsDialog.java index c7d4e56d..5a1dd930 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/dialog/AudioSettingsDialog.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/dialog/AudioSettingsDialog.java @@ -24,8 +24,8 @@ public AudioSettingsDialog(MdgaApp app, Node node, MdgaView view) { this.view = view; mainVolume = new SliderButton(app, node, "Gesamt Lautstärke"); - musicVolume = new SliderButton(app, node, "Gesamt Lautstärke"); - soundVolume = new SliderButton(app, node, "Gesamt Lautstärke"); + musicVolume = new SliderButton(app, node, "Musik Lautstärke"); + soundVolume = new SliderButton(app, node, "Effekt Lautstärke"); backButton = new MenuButton(app, node, view::leaveAudioSettings, "Zurück"); diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/dialog/HostDialog.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/dialog/HostDialog.java index b23fc2c3..240a27a1 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/dialog/HostDialog.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/dialog/HostDialog.java @@ -9,6 +9,8 @@ import pp.mdga.client.button.MenuButton; import pp.mdga.client.view.MainView; +import java.util.prefs.Preferences; + public class HostDialog extends Dialog { private InputButton portInput; @@ -17,13 +19,15 @@ public class HostDialog extends Dialog { private final MainView view; + private Preferences prefs = Preferences.userNodeForPackage(JoinDialog.class); + public HostDialog(MdgaApp app, Node node, MainView view) { super(app, node); this.view = view; portInput = new InputButton(app, node, "Port: ", 5); - portInput.setString("11111"); + portInput.setString(prefs.get("hostPort", "11111")); hostButton = new ButtonRight(app, node, view::forward, "Spiel hosten", 10); backButton = new ButtonLeft(app, node, view::back, "Zurück", 10); @@ -53,10 +57,12 @@ public void update() { } public String getPort() { + prefs.put("hostPort", portInput.getString()); return portInput.getString(); } public void resetPort() { portInput.reset(); + prefs.put("hostPort", "11111"); } } diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/dialog/JoinDialog.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/dialog/JoinDialog.java index f03c4bc7..c2d48816 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/dialog/JoinDialog.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/dialog/JoinDialog.java @@ -3,12 +3,15 @@ import com.jme3.math.Vector2f; import com.jme3.scene.Node; import pp.mdga.client.MdgaApp; +import pp.mdga.client.acoustic.AcousticHandler; import pp.mdga.client.button.ButtonLeft; import pp.mdga.client.button.ButtonRight; import pp.mdga.client.button.InputButton; import pp.mdga.client.button.MenuButton; import pp.mdga.client.view.MainView; +import java.util.prefs.Preferences; + public class JoinDialog extends Dialog { private InputButton ipInput; private InputButton portInput; @@ -18,6 +21,8 @@ public class JoinDialog extends Dialog { private final MainView view; + private Preferences prefs = Preferences.userNodeForPackage(JoinDialog.class); + public JoinDialog(MdgaApp app, Node node, MainView view) { super(app, node); @@ -25,7 +30,8 @@ public JoinDialog(MdgaApp app, Node node, MainView view) { ipInput = new InputButton(app, node, "Ip: ", 15); portInput = new InputButton(app, node, "Port: ", 5); - portInput.setString("11111"); + portInput.setString(prefs.get("joinPort", "11111")); + ipInput.setString(prefs.get("jostIp", "")); joinButton = new ButtonRight(app, node, view::forward, "Spiel beitreten", 10); backButton = new ButtonLeft(app, node, view::back, "Zurück", 10); @@ -61,18 +67,22 @@ public void update() { } public String getIpt() { + prefs.put("joinIp", ipInput.getString()); return ipInput.getString(); } public void resetIp() { ipInput.reset(); + prefs.put("joinIp", ""); } public String getPort() { + prefs.put("joinPort", portInput.getString()); return portInput.getString(); } public void resetPort() { portInput.reset(); + prefs.put("joinPort", "11111"); } } diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/view/CeremonyView.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/view/CeremonyView.java index d6fd6941..b9c0d1b9 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/view/CeremonyView.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/view/CeremonyView.java @@ -5,6 +5,7 @@ import com.jme3.scene.Geometry; import pp.mdga.client.MdgaApp; import pp.mdga.client.MdgaState; +import pp.mdga.client.acoustic.MdgaSound; import pp.mdga.client.button.ButtonLeft; import pp.mdga.client.button.ButtonRight; import pp.mdga.client.button.CeremonyButton; @@ -51,6 +52,8 @@ public void onEnter() { enterSub(SubState.AWARD_CEREMONY); rootNode.addLight(ambient); + + app.getAcousticHandler().playSound(MdgaSound.VICTORY); } @Override diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/view/GameView.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/view/GameView.java index 37cfeaf7..11b81ad9 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/view/GameView.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/view/GameView.java @@ -14,6 +14,7 @@ import com.jme3.texture.Image; import com.jme3.texture.Texture2D; import pp.mdga.client.MdgaState; +import pp.mdga.client.acoustic.MdgaSound; import pp.mdga.client.board.BoardHandler; import pp.mdga.client.board.CameraHandler; import pp.mdga.client.MdgaApp; @@ -58,6 +59,8 @@ public void onEnter() { cheatButton.show(); app.getViewPort().addProcessor(fpp); + + app.getAcousticHandler().playSound(MdgaSound.START); } @Override diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/view/LobbyView.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/view/LobbyView.java index 65a87d60..b97baf84 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/view/LobbyView.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/view/LobbyView.java @@ -3,6 +3,7 @@ import com.jme3.asset.TextureKey; import com.jme3.light.AmbientLight; import com.jme3.math.ColorRGBA; +import com.jme3.math.Vector3f; import com.jme3.renderer.Camera; import com.jme3.scene.Geometry; import com.jme3.scene.Spatial; @@ -49,11 +50,10 @@ public LobbyView(MdgaApp app) { @Override public void onEnter() { - //cam = new Camera(app.getCamera().getWidth(), app.getCamera().getHeight()); - //cam.setParallelProjection(true); - //float aspect = (float) app.getCamera().getWidth() / app.getCamera().getHeight(); - //float size = 1.65f; - //cam.setFrustum(-1000, 1000, -aspect * size, aspect * size, size, -size); + app.getCamera().setParallelProjection(true); + float aspect = (float) app.getCamera().getWidth() / app.getCamera().getHeight(); + float size = 1.65f; + app.getCamera().setFrustum(-1000, 1000, -aspect * size, aspect * size, size, -size); leaveButton.show(); readyButton.show(); @@ -77,6 +77,18 @@ public void onLeave() { cyberButton.hide(); rootNode.removeLight(ambient); + + app.getCamera().setParallelProjection(false); + + app.getCamera().setFrustumPerspective( + 45.0f, + (float) app.getCamera().getWidth() / app.getCamera().getHeight(), + 0.1f, + 1000.0f + ); + + app.getCamera().setLocation(new Vector3f(0, 0, 10)); + app.getCamera().lookAt(Vector3f.ZERO, Vector3f.UNIT_Y); } @Override diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/view/MainView.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/view/MainView.java index 4fb81fdd..b1997409 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/view/MainView.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/view/MainView.java @@ -3,6 +3,7 @@ import com.jme3.scene.Geometry; import pp.mdga.client.MdgaApp; import pp.mdga.client.MdgaState; +import pp.mdga.client.acoustic.MdgaSound; import pp.mdga.client.button.ButtonRight; import pp.mdga.client.button.MenuButton; import pp.mdga.client.button.SettingsButton; @@ -99,7 +100,7 @@ private void tryHost() { if(port >= 1 && port <= 65535) { app.getModelSyncronizer().setName(startDialog.getName()); app.getModelSyncronizer().setHost(port); - //TODO: playSound + //app.getAcousticHandler().playSound(MdgaSound.WRONG_INPUT); return; } } catch (NumberFormatException e) { @@ -107,13 +108,44 @@ private void tryHost() { } hostDialog.resetPort(); - //TODO: playSound + app.getAcousticHandler().playSound(MdgaSound.WRONG_INPUT); } private void tryJoin() { - //TODO - app.getModelSyncronizer().setName(startDialog.getName()); - app.getModelSyncronizer().setJoin("127.0.0.1", 1); + int port = 0; + String ip = joinDialog.getIpt(); + String portText = hostDialog.getPort(); + + try { + // Validate the port + port = Integer.parseInt(portText); + if (port < 1 || port > 65535) { + throw new IllegalArgumentException("Invalid port"); + } + + // Validate the IP address + if (isValidIpAddress(ip)) { + app.getModelSyncronizer().setName(startDialog.getName()); + app.getModelSyncronizer().setJoin(ip, port); + return; + } + } catch (IllegalArgumentException e) { + // Invalid input, fall through to reset + } + + hostDialog.resetPort(); + joinDialog.resetIp(); + app.getAcousticHandler().playSound(MdgaSound.WRONG_INPUT); + } + + private boolean isValidIpAddress(String ip) { + String ipRegex = + "^(25[0-5]|2[0-4][0-9]|[0-1]?[0-9][0-9]?)\\." + + "(25[0-5]|2[0-4][0-9]|[0-1]?[0-9][0-9]?)\\." + + "(25[0-5]|2[0-4][0-9]|[0-1]?[0-9][0-9]?)\\." + + "(25[0-5]|2[0-4][0-9]|[0-1]?[0-9][0-9]?)$"; + + return ip != null && ip.matches(ipRegex); } private void enterSub(SubState state) { @@ -160,7 +192,7 @@ public void forward(boolean host) { case MAIN: if(host) { enterSub(SubState.HOST); - //TODO: playSound + //TODO playSound } else { enterSub(SubState.JOIN); //TODO: playSound diff --git a/Projekte/mdga/client/src/main/resources/Sounds/error_sound.ogg b/Projekte/mdga/client/src/main/resources/Sounds/error_sound.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8742f9fd891aa39c64121a403962cbcb7c9aa104 GIT binary patch literal 16602 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 literal 0 HcmV?d00001 diff --git a/Projekte/mdga/client/src/main/resources/Sounds/menu_button.ogg b/Projekte/mdga/client/src/main/resources/Sounds/menu_button.ogg new file mode 100644 index 0000000000000000000000000000000000000000..7cb34ff4537032d5dda9acc9ecb3806a3902ef96 GIT binary patch literal 7149 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 Z=iCQL-I^~}G}$G;%E`Ss*!Tr-{~tQ#EMfov literal 0 HcmV?d00001 diff --git a/Projekte/mdga/client/src/main/resources/Sounds/uiclick.ogg b/Projekte/mdga/client/src/main/resources/Sounds/uiclick.ogg new file mode 100644 index 0000000000000000000000000000000000000000..50d5b4701824b3ee277a9e4c459e8da5af687aed GIT binary patch literal 5427 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 BfAatU literal 0 HcmV?d00001