From 732abedba50f7693f37656db147349609c06a615 Mon Sep 17 00:00:00 2001 From: ramollia <@> Date: Sat, 4 Oct 2025 15:18:34 +0200 Subject: [PATCH] sorry michiel --- .../java/org/toop/app/menu/CreditsMenu.java | 200 +++++----- .../main/java/org/toop/app/menu/MainMenu.java | 138 +++---- .../java/org/toop/app/menu/OptionsMenu.java | 348 +++++++++--------- 3 files changed, 343 insertions(+), 343 deletions(-) diff --git a/app/src/main/java/org/toop/app/menu/CreditsMenu.java b/app/src/main/java/org/toop/app/menu/CreditsMenu.java index 31c093a..3817d69 100644 --- a/app/src/main/java/org/toop/app/menu/CreditsMenu.java +++ b/app/src/main/java/org/toop/app/menu/CreditsMenu.java @@ -1,100 +1,100 @@ -package org.toop.app.menu; - -import javafx.animation.Interpolator; -import javafx.animation.PauseTransition; -import javafx.animation.TranslateTransition; -import javafx.application.Platform; -import javafx.geometry.Pos; -import javafx.scene.control.Button; -import javafx.scene.layout.Region; -import javafx.scene.layout.StackPane; -import javafx.scene.layout.VBox; -import javafx.util.Duration; -import org.toop.app.App; -import org.toop.framework.asset.ResourceManager; -import org.toop.framework.asset.resources.LocalizationAsset; -import org.toop.framework.eventbus.EventFlow; -import org.toop.local.AppContext; -import org.toop.local.LocalizationEvents; - -import java.util.Locale; - -public final class CreditsMenu extends Menu { ; - private Locale currentLocale = AppContext.getLocale(); - private LocalizationAsset loc = ResourceManager.get("localization_en_us.properties"); - - String[] credits = { - "Scrum Master: Stef", - "Product Owner: Omar", - "Merge Commander: Bas", - "Localization: Ticho", - "AI: Michiel", - "Developers: Michiel, Bas, Stef, Omar, Ticho", - "Moral Support: Wesley (voor 1 week)", - "OpenGL: Omar" - }; - - double scrollDuration = 20.0; - double lineHeight = 40.0; - - public CreditsMenu() { - VBox creditsBox = new VBox(lineHeight / 2); - for (int i = credits.length - 1; i >= 0; i--) { - creditsBox.getChildren().add(createText(credits[i])); - creditsBox.setAlignment(Pos.CENTER); - } - - Button exit = new Button("<"); - exit.setStyle( - "-fx-background-color: transparent;" + - "-fx-text-fill: white;" + - "-fx-font-size: 72px;" + - "-fx-padding: 10 20 10 20;" - ); - exit.setOnAction(e -> App.pop()); - - final Region background = createBackground(); - StackPane.setAlignment(exit, Pos.TOP_LEFT); - pane = new StackPane(background, creditsBox, exit); - - Platform.runLater(() -> playCredits(creditsBox, 800)); - - try { - new EventFlow() - .listen(this::handleChangeLanguage); - - }catch (Exception e){ - System.out.println("Something went wrong while trying to change the language."); - throw e; - } - } - - public void playCredits(VBox creditsBox, double sceneLength) { - double height = (credits.length * lineHeight); - double startY = -sceneLength; - double endY = height; - - creditsBox.setTranslateY(startY); - - TranslateTransition scrollCredits = new TranslateTransition(); - scrollCredits.setNode(creditsBox); - scrollCredits.setFromY(startY); - scrollCredits.setToY(endY / 2 - 200); - scrollCredits.setDuration(Duration.seconds(scrollDuration)); - scrollCredits.setInterpolator(Interpolator.LINEAR); - - scrollCredits.setOnFinished(e -> { - PauseTransition pauseCredits = new PauseTransition(Duration.seconds(5)); - pauseCredits.setOnFinished(a -> playCredits(creditsBox, sceneLength)); - pauseCredits.play(); - }); - - scrollCredits.play(); - } - private void handleChangeLanguage(LocalizationEvents.LanguageHasChanged event) { - Platform.runLater(() -> { - currentLocale = AppContext.getLocale(); - //credits.setText(loc.getString("credits",currentLocale)); - }); - } -} \ No newline at end of file +// package org.toop.app.menu; +// +// import javafx.animation.Interpolator; +// import javafx.animation.PauseTransition; +// import javafx.animation.TranslateTransition; +// import javafx.application.Platform; +// import javafx.geometry.Pos; +// import javafx.scene.control.Button; +// import javafx.scene.layout.Region; +// import javafx.scene.layout.StackPane; +// import javafx.scene.layout.VBox; +// import javafx.util.Duration; +// import org.toop.app.App; +// import org.toop.framework.asset.ResourceManager; +// import org.toop.framework.asset.resources.LocalizationAsset; +// import org.toop.framework.eventbus.EventFlow; +// import org.toop.local.AppContext; +// import org.toop.local.LocalizationEvents; +// +// import java.util.Locale; +// +// public final class CreditsMenu extends Menu { ; +// private Locale currentLocale = AppContext.getLocale(); +// private LocalizationAsset loc = ResourceManager.get("localization_en_us.properties"); +// +// String[] credits = { +// "Scrum Master: Stef", +// "Product Owner: Omar", +// "Merge Commander: Bas", +// "Localization: Ticho", +// "AI: Michiel", +// "Developers: Michiel, Bas, Stef, Omar, Ticho", +// "Moral Support: Wesley (voor 1 week)", +// "OpenGL: Omar" +// }; +// +// double scrollDuration = 20.0; +// double lineHeight = 40.0; +// +// public CreditsMenu() { +// VBox creditsBox = new VBox(lineHeight / 2); +// for (int i = credits.length - 1; i >= 0; i--) { +// creditsBox.getChildren().add(createText(credits[i])); +// creditsBox.setAlignment(Pos.CENTER); +// } +// +// Button exit = new Button("<"); +// exit.setStyle( +// "-fx-background-color: transparent;" + +// "-fx-text-fill: white;" + +// "-fx-font-size: 72px;" + +// "-fx-padding: 10 20 10 20;" +// ); +// exit.setOnAction(e -> App.pop()); +// +// final Region background = createBackground(); +// StackPane.setAlignment(exit, Pos.TOP_LEFT); +// pane = new StackPane(background, creditsBox, exit); +// +// Platform.runLater(() -> playCredits(creditsBox, 800)); +// +// try { +// new EventFlow() +// .listen(this::handleChangeLanguage); +// +// }catch (Exception e){ +// System.out.println("Something went wrong while trying to change the language."); +// throw e; +// } +// } +// +// public void playCredits(VBox creditsBox, double sceneLength) { +// double height = (credits.length * lineHeight); +// double startY = -sceneLength; +// double endY = height; +// +// creditsBox.setTranslateY(startY); +// +// TranslateTransition scrollCredits = new TranslateTransition(); +// scrollCredits.setNode(creditsBox); +// scrollCredits.setFromY(startY); +// scrollCredits.setToY(endY / 2 - 200); +// scrollCredits.setDuration(Duration.seconds(scrollDuration)); +// scrollCredits.setInterpolator(Interpolator.LINEAR); +// +// scrollCredits.setOnFinished(e -> { +// PauseTransition pauseCredits = new PauseTransition(Duration.seconds(5)); +// pauseCredits.setOnFinished(a -> playCredits(creditsBox, sceneLength)); +// pauseCredits.play(); +// }); +// +// scrollCredits.play(); +// } +// private void handleChangeLanguage(LocalizationEvents.LanguageHasChanged event) { +// Platform.runLater(() -> { +// currentLocale = AppContext.getLocale(); +// //credits.setText(loc.getString("credits",currentLocale)); +// }); +// } +// } \ No newline at end of file diff --git a/app/src/main/java/org/toop/app/menu/MainMenu.java b/app/src/main/java/org/toop/app/menu/MainMenu.java index 2765083..9696b5d 100644 --- a/app/src/main/java/org/toop/app/menu/MainMenu.java +++ b/app/src/main/java/org/toop/app/menu/MainMenu.java @@ -1,69 +1,69 @@ -package org.toop.app.menu; - -import javafx.application.Platform; -import org.toop.app.App; -import org.toop.app.GameType; - -import javafx.geometry.Pos; -import javafx.scene.control.Button; -import javafx.scene.layout.*; -import org.toop.framework.asset.ResourceManager; -import org.toop.framework.asset.resources.LocalizationAsset; -import org.toop.framework.eventbus.EventFlow; -import org.toop.game.tictactoe.TicTacToe; -import org.toop.local.AppContext; -import org.toop.local.LocalizationEvents; - -import java.util.Locale; - -public final class MainMenu extends Menu { - private Locale currentLocale = AppContext.getLocale(); - private final LocalizationAsset loc = ResourceManager.get("localization"); - private final Button tictactoe,reversi,credits,options,quit; - public MainMenu() { - final Region background = createBackground(); - - tictactoe = createButton( - loc.getString("mainMenuSelectTicTacToe",currentLocale), () -> { App.activate(new GameSelectMenu(GameType.TICTACTOE)); }); - reversi = createButton( - loc.getString("mainMenuSelectReversi",currentLocale), () -> { App.activate(new GameSelectMenu(GameType.REVERSI)); }); - - final VBox gamesBox = new VBox(10, tictactoe, reversi); - gamesBox.setAlignment(Pos.TOP_LEFT); - gamesBox.setPickOnBounds(false); - gamesBox.setTranslateY(50); - gamesBox.setTranslateX(25); - - credits = createButton(loc.getString("mainMenuSelectCredits",currentLocale), () -> { App.push(new CreditsMenu()); }); - options = createButton(loc.getString("mainMenuSelectOptions",currentLocale), () -> { App.push(new OptionsMenu()); }); - quit = createButton(loc.getString("mainMenuSelectQuit",currentLocale), () -> { App.quitPopup(); }); - - final VBox controlBox = new VBox(10, credits, options, quit); - controlBox.setAlignment(Pos.BOTTOM_LEFT); - controlBox.setPickOnBounds(false); - controlBox.setTranslateY(-50); - controlBox.setTranslateX(25); - - pane = new StackPane(background, gamesBox, controlBox); - try { - new EventFlow() - .listen(this::handleChangeLanguage); - - }catch (Exception e){ - System.out.println("Something went wrong while trying to change the language."); - throw e; - } - - } - private void handleChangeLanguage(LocalizationEvents.LanguageHasChanged event) { - Platform.runLater(() -> { - currentLocale = AppContext.getLocale(); - tictactoe.setText(loc.getString("mainMenuSelectTicTacToe",currentLocale)); - reversi.setText(loc.getString("mainMenuSelectReversi",currentLocale)); - credits.setText(loc.getString("mainMenuSelectCredits",currentLocale)); - options.setText(loc.getString("mainMenuSelectOptions",currentLocale)); - quit.setText(loc.getString("mainMenuSelectQuit",currentLocale)); - }); - - } -} \ No newline at end of file +// package org.toop.app.menu; +// +// import javafx.application.Platform; +// import org.toop.app.App; +// import org.toop.app.GameType; +// +// import javafx.geometry.Pos; +// import javafx.scene.control.Button; +// import javafx.scene.layout.*; +// import org.toop.framework.asset.ResourceManager; +// import org.toop.framework.asset.resources.LocalizationAsset; +// import org.toop.framework.eventbus.EventFlow; +// import org.toop.game.tictactoe.TicTacToe; +// import org.toop.local.AppContext; +// import org.toop.local.LocalizationEvents; +// +// import java.util.Locale; +// +// public final class MainMenu extends Menu { +// private Locale currentLocale = AppContext.getLocale(); +// private final LocalizationAsset loc = ResourceManager.get("localization"); +// private final Button tictactoe,reversi,credits,options,quit; +// public MainMenu() { +// final Region background = createBackground(); +// +// tictactoe = createButton( +// loc.getString("mainMenuSelectTicTacToe",currentLocale), () -> { App.activate(new GameSelectMenu(GameType.TICTACTOE)); }); +// reversi = createButton( +// loc.getString("mainMenuSelectReversi",currentLocale), () -> { App.activate(new GameSelectMenu(GameType.REVERSI)); }); +// +// final VBox gamesBox = new VBox(10, tictactoe, reversi); +// gamesBox.setAlignment(Pos.TOP_LEFT); +// gamesBox.setPickOnBounds(false); +// gamesBox.setTranslateY(50); +// gamesBox.setTranslateX(25); +// +// credits = createButton(loc.getString("mainMenuSelectCredits",currentLocale), () -> { App.push(new CreditsMenu()); }); +// options = createButton(loc.getString("mainMenuSelectOptions",currentLocale), () -> { App.push(new OptionsMenu()); }); +// quit = createButton(loc.getString("mainMenuSelectQuit",currentLocale), () -> { App.quitPopup(); }); +// +// final VBox controlBox = new VBox(10, credits, options, quit); +// controlBox.setAlignment(Pos.BOTTOM_LEFT); +// controlBox.setPickOnBounds(false); +// controlBox.setTranslateY(-50); +// controlBox.setTranslateX(25); +// +// pane = new StackPane(background, gamesBox, controlBox); +// try { +// new EventFlow() +// .listen(this::handleChangeLanguage); +// +// }catch (Exception e){ +// System.out.println("Something went wrong while trying to change the language."); +// throw e; +// } +// +// } +// private void handleChangeLanguage(LocalizationEvents.LanguageHasChanged event) { +// Platform.runLater(() -> { +// currentLocale = AppContext.getLocale(); +// tictactoe.setText(loc.getString("mainMenuSelectTicTacToe",currentLocale)); +// reversi.setText(loc.getString("mainMenuSelectReversi",currentLocale)); +// credits.setText(loc.getString("mainMenuSelectCredits",currentLocale)); +// options.setText(loc.getString("mainMenuSelectOptions",currentLocale)); +// quit.setText(loc.getString("mainMenuSelectQuit",currentLocale)); +// }); +// +// } +// } \ No newline at end of file diff --git a/app/src/main/java/org/toop/app/menu/OptionsMenu.java b/app/src/main/java/org/toop/app/menu/OptionsMenu.java index 7a67422..c738d32 100644 --- a/app/src/main/java/org/toop/app/menu/OptionsMenu.java +++ b/app/src/main/java/org/toop/app/menu/OptionsMenu.java @@ -1,174 +1,174 @@ -package org.toop.app.menu; - -import javafx.geometry.Pos; -import javafx.scene.control.*; -import javafx.scene.control.Button; -import javafx.scene.control.Label; -import javafx.scene.layout.Region; -import javafx.scene.layout.StackPane; -import javafx.scene.layout.VBox; -import org.toop.app.App; -import org.toop.framework.asset.ResourceManager; -import org.toop.framework.asset.resources.LocalizationAsset; -import org.toop.framework.audio.events.AudioEvents; -import org.toop.framework.eventbus.EventFlow; -import org.toop.local.AppContext; - -import java.awt.*; -import java.util.Locale; - -public final class OptionsMenu extends Menu { - private Locale currentLocale = AppContext.getLocale(); - private LocalizationAsset loc = ResourceManager.get("localization"); - private GraphicsDevice currentScreenDevice = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()[0]; - - public OptionsMenu() { - final Label selectLanguageLabel = new Label( - loc.getString("optionsMenuLabelSelectLanguage", currentLocale) - ); - - final Button exitOptionsButton = createButton("Exit Options", () -> { App.pop(); } ); - - final VBox optionsBox = new VBox(10, - selectLanguageLabel, - languageSelectorCreation(), - screenDeviceSelectorCreation(), - displayModeSelectorCreation(), - selectFullscreenCreation(), - volumeSelectorCreation(), - exitOptionsButton); - - optionsBox.setAlignment(Pos.CENTER); - optionsBox.setPickOnBounds(false); - optionsBox.setTranslateY(50); - optionsBox.setTranslateX(25); - - pane = new StackPane(optionsBox); - - } - - private ChoiceBox languageSelectorCreation() { - final ChoiceBox selectLanguage = new ChoiceBox<>(); - selectLanguage.setValue(currentLocale); - - for (Locale locFile : loc.getAvailableLocales()) { - selectLanguage.getItems().add(locFile); - } - - selectLanguage.setConverter(new javafx.util.StringConverter<>() { - @Override - public String toString(Locale locale) { - return locale.getDisplayName(); - } - - @Override - public Locale fromString(String string) { - return null; - } - }); - - selectLanguage.setOnShowing(event -> { - new EventFlow().addPostEvent(new AudioEvents.clickButton()).asyncPostEvent(); - }); - - selectLanguage.setOnAction(event -> { - new EventFlow().addPostEvent(new AudioEvents.clickButton()).asyncPostEvent(); - Locale selectedLocale = selectLanguage.getSelectionModel().getSelectedItem(); - if (selectedLocale != null) { - AppContext.setLocale(selectedLocale); - App.pop(); - App.push(new OptionsMenu()); - } - }); - - return selectLanguage; - } - - private ChoiceBox screenDeviceSelectorCreation() { - GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); - GraphicsDevice[] devices = ge.getScreenDevices(); - final ChoiceBox selectScreen = new ChoiceBox<>(); - for (GraphicsDevice screen : devices) { - selectScreen.getItems().add(screen); - } - - selectScreen.setOnShowing(event -> { - new EventFlow().addPostEvent(new AudioEvents.clickButton()).asyncPostEvent(); - }); - - selectScreen.setOnAction(event -> { - new EventFlow().addPostEvent(new AudioEvents.clickButton()).asyncPostEvent(); - int selectedIndex = selectScreen.getSelectionModel().getSelectedIndex(); - Object selectedItem = selectScreen.getSelectionModel().getSelectedItem(); - - System.out.println("Selection made: [" + selectedIndex + "] " + selectedItem); - System.out.println(" ChoiceBox.getValue(): " + selectScreen.getValue()); - }); - return selectScreen; - } - - private ChoiceBox displayModeSelectorCreation() { - final ChoiceBox selectWindowSize = new ChoiceBox<>(); - for (DisplayMode displayMode : currentScreenDevice.getDisplayModes()) { - selectWindowSize.getItems().add(displayMode); - } - selectWindowSize.setOnShowing(event -> { - new EventFlow().addPostEvent(new AudioEvents.clickButton()).asyncPostEvent(); - }); - selectWindowSize.setOnAction(event -> { - new EventFlow().addPostEvent(new AudioEvents.clickButton()).asyncPostEvent(); - int selectedIndex = selectWindowSize.getSelectionModel().getSelectedIndex(); - Object selectedItem = selectWindowSize.getSelectionModel().getSelectedItem(); - - System.out.println("Selection made: [" + selectedIndex + "] " + selectedItem); - System.out.println(" ChoiceBox.getValue(): " + selectWindowSize.getValue()); - }); - return selectWindowSize; - } - - private CheckBox selectFullscreenCreation() { - final CheckBox setFullscreen = new CheckBox("Fullscreen"); - setFullscreen.setSelected(App.isFullscreen()); - setFullscreen.setOnAction(event -> { - new EventFlow().addPostEvent(new AudioEvents.clickButton()).asyncPostEvent(); - boolean isSelected = setFullscreen.isSelected(); - App.setFullscreen(isSelected); - }); - return setFullscreen; - } - - private Slider volumeSelectorCreation() { - Slider volumeSlider = new Slider(0, 100, 50); - new EventFlow() - .addPostEvent(AudioEvents.GetCurrentVolume.class) - .onResponse(AudioEvents.GetCurrentVolumeReponse.class, event -> { - volumeSlider.setValue(event.currentVolume() * 100); - }, true).asyncPostEvent(); - volumeSlider.setShowTickLabels(true); - volumeSlider.setShowTickMarks(true); - volumeSlider.setMajorTickUnit(25); - volumeSlider.setMinorTickCount(4); - volumeSlider.setBlockIncrement(5); - volumeSlider.setMaxWidth(225); - - Label valueLabel = new Label(String.valueOf((int) volumeSlider.getValue())); - - final long[] lastPlayed = {0}; - final long cooldown = 50; - volumeSlider.valueProperty().addListener((obs, oldVal, newVal) -> { - long now = System.currentTimeMillis(); - - if (now - lastPlayed[0] >= cooldown) { - lastPlayed[0] = now; -// new EventFlow().addPostEvent(new AudioEvents.clickButton()) -// .asyncPostEvent(); // TODO: creates double sound bug, WHYYY???? - } - valueLabel.setText(String.valueOf(newVal.intValue())); - new EventFlow().addPostEvent(new AudioEvents.ChangeVolume(newVal.doubleValue()/100.0)) - .asyncPostEvent(); - }); - - return volumeSlider; - } - -} \ No newline at end of file +// package org.toop.app.menu; +// +// import javafx.geometry.Pos; +// import javafx.scene.control.*; +// import javafx.scene.control.Button; +// import javafx.scene.control.Label; +// import javafx.scene.layout.Region; +// import javafx.scene.layout.StackPane; +// import javafx.scene.layout.VBox; +// import org.toop.app.App; +// import org.toop.framework.asset.ResourceManager; +// import org.toop.framework.asset.resources.LocalizationAsset; +// import org.toop.framework.audio.events.AudioEvents; +// import org.toop.framework.eventbus.EventFlow; +// import org.toop.local.AppContext; +// +// import java.awt.*; +// import java.util.Locale; +// +// public final class OptionsMenu extends Menu { +// private Locale currentLocale = AppContext.getLocale(); +// private LocalizationAsset loc = ResourceManager.get("localization"); +// private GraphicsDevice currentScreenDevice = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()[0]; +// +// public OptionsMenu() { +// final Label selectLanguageLabel = new Label( +// loc.getString("optionsMenuLabelSelectLanguage", currentLocale) +// ); +// +// final Button exitOptionsButton = createButton("Exit Options", () -> { App.pop(); } ); +// +// final VBox optionsBox = new VBox(10, +// selectLanguageLabel, +// languageSelectorCreation(), +// screenDeviceSelectorCreation(), +// displayModeSelectorCreation(), +// selectFullscreenCreation(), +// volumeSelectorCreation(), +// exitOptionsButton); +// +// optionsBox.setAlignment(Pos.CENTER); +// optionsBox.setPickOnBounds(false); +// optionsBox.setTranslateY(50); +// optionsBox.setTranslateX(25); +// +// pane = new StackPane(optionsBox); +// +// } +// +// private ChoiceBox languageSelectorCreation() { +// final ChoiceBox selectLanguage = new ChoiceBox<>(); +// selectLanguage.setValue(currentLocale); +// +// for (Locale locFile : loc.getAvailableLocales()) { +// selectLanguage.getItems().add(locFile); +// } +// +// selectLanguage.setConverter(new javafx.util.StringConverter<>() { +// @Override +// public String toString(Locale locale) { +// return locale.getDisplayName(); +// } +// +// @Override +// public Locale fromString(String string) { +// return null; +// } +// }); +// +// selectLanguage.setOnShowing(event -> { +// new EventFlow().addPostEvent(new AudioEvents.clickButton()).asyncPostEvent(); +// }); +// +// selectLanguage.setOnAction(event -> { +// new EventFlow().addPostEvent(new AudioEvents.clickButton()).asyncPostEvent(); +// Locale selectedLocale = selectLanguage.getSelectionModel().getSelectedItem(); +// if (selectedLocale != null) { +// AppContext.setLocale(selectedLocale); +// App.pop(); +// App.push(new OptionsMenu()); +// } +// }); +// +// return selectLanguage; +// } +// +// private ChoiceBox screenDeviceSelectorCreation() { +// GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); +// GraphicsDevice[] devices = ge.getScreenDevices(); +// final ChoiceBox selectScreen = new ChoiceBox<>(); +// for (GraphicsDevice screen : devices) { +// selectScreen.getItems().add(screen); +// } +// +// selectScreen.setOnShowing(event -> { +// new EventFlow().addPostEvent(new AudioEvents.clickButton()).asyncPostEvent(); +// }); +// +// selectScreen.setOnAction(event -> { +// new EventFlow().addPostEvent(new AudioEvents.clickButton()).asyncPostEvent(); +// int selectedIndex = selectScreen.getSelectionModel().getSelectedIndex(); +// Object selectedItem = selectScreen.getSelectionModel().getSelectedItem(); +// +// System.out.println("Selection made: [" + selectedIndex + "] " + selectedItem); +// System.out.println(" ChoiceBox.getValue(): " + selectScreen.getValue()); +// }); +// return selectScreen; +// } +// +// private ChoiceBox displayModeSelectorCreation() { +// final ChoiceBox selectWindowSize = new ChoiceBox<>(); +// for (DisplayMode displayMode : currentScreenDevice.getDisplayModes()) { +// selectWindowSize.getItems().add(displayMode); +// } +// selectWindowSize.setOnShowing(event -> { +// new EventFlow().addPostEvent(new AudioEvents.clickButton()).asyncPostEvent(); +// }); +// selectWindowSize.setOnAction(event -> { +// new EventFlow().addPostEvent(new AudioEvents.clickButton()).asyncPostEvent(); +// int selectedIndex = selectWindowSize.getSelectionModel().getSelectedIndex(); +// Object selectedItem = selectWindowSize.getSelectionModel().getSelectedItem(); +// +// System.out.println("Selection made: [" + selectedIndex + "] " + selectedItem); +// System.out.println(" ChoiceBox.getValue(): " + selectWindowSize.getValue()); +// }); +// return selectWindowSize; +// } +// +// private CheckBox selectFullscreenCreation() { +// final CheckBox setFullscreen = new CheckBox("Fullscreen"); +// setFullscreen.setSelected(App.isFullscreen()); +// setFullscreen.setOnAction(event -> { +// new EventFlow().addPostEvent(new AudioEvents.clickButton()).asyncPostEvent(); +// boolean isSelected = setFullscreen.isSelected(); +// App.setFullscreen(isSelected); +// }); +// return setFullscreen; +// } +// +// private Slider volumeSelectorCreation() { +// Slider volumeSlider = new Slider(0, 100, 50); +// new EventFlow() +// .addPostEvent(AudioEvents.GetCurrentVolume.class) +// .onResponse(AudioEvents.GetCurrentVolumeReponse.class, event -> { +// volumeSlider.setValue(event.currentVolume() * 100); +// }, true).asyncPostEvent(); +// volumeSlider.setShowTickLabels(true); +// volumeSlider.setShowTickMarks(true); +// volumeSlider.setMajorTickUnit(25); +// volumeSlider.setMinorTickCount(4); +// volumeSlider.setBlockIncrement(5); +// volumeSlider.setMaxWidth(225); +// +// Label valueLabel = new Label(String.valueOf((int) volumeSlider.getValue())); +// +// final long[] lastPlayed = {0}; +// final long cooldown = 50; +// volumeSlider.valueProperty().addListener((obs, oldVal, newVal) -> { +// long now = System.currentTimeMillis(); +// +// if (now - lastPlayed[0] >= cooldown) { +// lastPlayed[0] = now; +// // new EventFlow().addPostEvent(new AudioEvents.clickButton()) +// // .asyncPostEvent(); // TODO: creates double sound bug, WHYYY???? +// } +// valueLabel.setText(String.valueOf(newVal.intValue())); +// new EventFlow().addPostEvent(new AudioEvents.ChangeVolume(newVal.doubleValue()/100.0)) +// .asyncPostEvent(); +// }); +// +// return volumeSlider; +// } +// +// } \ No newline at end of file