aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2024-07-08 14:49:30 -0400
committersowgro <tpoke.ferrari@gmail.com>2024-07-08 14:49:30 -0400
commitcf8f3d35716cd93d0d5d123d80b07f9ae704f939 (patch)
treee5bb4a40bec2d22d5f75ea95ba7745fc749affa8 /src
parentee2229339429d50afa33e2f8b9c0ee0939766290 (diff)
downloadNPEhero-cf8f3d35716cd93d0d5d123d80b07f9ae704f939.tar.gz
NPEhero-cf8f3d35716cd93d0d5d123d80b07f9ae704f939.tar.bz2
NPEhero-cf8f3d35716cd93d0d5d123d80b07f9ae704f939.zip
Embed level utility into main window
Diffstat (limited to 'src')
-rw-r--r--src/main/java/module-info.java3
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/Driver.java1
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/devmenu/DiffEditor.java10
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/devmenu/LevelEditor.java20
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/devmenu/LevelList.java10
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/devmenu/NotesEditor.java12
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/gui/MainMenu.java12
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/gui/Settings.java8
-rwxr-xr-xsrc/main/resources/net/sowgro/npehero/style.css1
9 files changed, 38 insertions, 39 deletions
diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java
index 7fc3ef1..dd166f8 100644
--- a/src/main/java/module-info.java
+++ b/src/main/java/module-info.java
@@ -5,8 +5,5 @@ module net.sowgro.npehero {
requires json.simple;
requires java.desktop;
-
- opens net.sowgro.npehero to javafx.fxml;
- exports net.sowgro.npehero.gui;
exports net.sowgro.npehero;
} \ No newline at end of file
diff --git a/src/main/java/net/sowgro/npehero/Driver.java b/src/main/java/net/sowgro/npehero/Driver.java
index b5e226e..262f441 100755
--- a/src/main/java/net/sowgro/npehero/Driver.java
+++ b/src/main/java/net/sowgro/npehero/Driver.java
@@ -15,6 +15,7 @@ import javafx.scene.layout.BackgroundRepeat;
import javafx.scene.layout.BackgroundSize;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
+import net.sowgro.npehero.devmenu.DebugMenu;
import net.sowgro.npehero.gui.MainMenu;
import net.sowgro.npehero.main.LevelController;
import net.sowgro.npehero.main.SettingsController;
diff --git a/src/main/java/net/sowgro/npehero/devmenu/DiffEditor.java b/src/main/java/net/sowgro/npehero/devmenu/DiffEditor.java
index d4ebb02..4bb55e4 100755
--- a/src/main/java/net/sowgro/npehero/devmenu/DiffEditor.java
+++ b/src/main/java/net/sowgro/npehero/devmenu/DiffEditor.java
@@ -3,6 +3,7 @@ package net.sowgro.npehero.devmenu;
import java.io.FileNotFoundException;
import java.io.UnsupportedEncodingException;
+import javafx.scene.layout.Pane;
import net.sowgro.npehero.Driver;
import net.sowgro.npehero.gui.LevelSurround;
import net.sowgro.npehero.gui.MainMenu;
@@ -14,7 +15,7 @@ import javafx.scene.text.Text;
import javafx.stage.Stage;
import net.sowgro.npehero.main.Difficulty;
-public class DiffEditor
+public class DiffEditor extends Pane
{
/*
* this class is a layout class, most of its purpose is to place UI elements like Buttons within Panes like VBoxes.
@@ -72,8 +73,9 @@ public class DiffEditor
VBox main = new VBox();
main.getChildren().addAll(folderNameLabel,folderName,titleLabel,title,bpmLabel,bpm,numBeatsLabel,numBeats,refresh,priorityLabel,priority,editNotes,editScores,playLevel,save);
- Scene scene = new Scene(main);
- primaryStage.setScene(scene);
- primaryStage.show();
+// Scene scene = new Scene(main);
+// primaryStage.setScene(scene);
+// primaryStage.show();
+ super.getChildren().add(main);
}
} \ No newline at end of file
diff --git a/src/main/java/net/sowgro/npehero/devmenu/LevelEditor.java b/src/main/java/net/sowgro/npehero/devmenu/LevelEditor.java
index 94fcc16..bd8bde6 100755
--- a/src/main/java/net/sowgro/npehero/devmenu/LevelEditor.java
+++ b/src/main/java/net/sowgro/npehero/devmenu/LevelEditor.java
@@ -11,15 +11,17 @@ import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
+import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import javafx.stage.FileChooser.ExtensionFilter;
+import net.sowgro.npehero.Driver;
import net.sowgro.npehero.main.Difficulty;
import net.sowgro.npehero.main.Level;
-public class LevelEditor
+public class LevelEditor extends Pane
{
private File selectedSong = null;
private File selectedPreview = null;
@@ -32,8 +34,6 @@ public class LevelEditor
*/
public LevelEditor(Level level)
{
- Stage primaryStage = new Stage();
-
Text folderNameLabel = new Text("Folder name");
TextField folderName = new TextField(level.thisDir.getName());
folderName.setDisable(true);
@@ -59,17 +59,17 @@ public class LevelEditor
FileChooser backgroundChooser = new FileChooser();
backgroundChooser.getExtensionFilters().add(new ExtensionFilter("PNG", "*.png"));
Button backgroundButton = new Button("Import background PNG");
- backgroundButton.setOnAction(e -> {selectedBackground = backgroundChooser.showOpenDialog(primaryStage);});
+ backgroundButton.setOnAction(e -> {selectedBackground = backgroundChooser.showOpenDialog(Driver.primaryStage);});
FileChooser previewChooser = new FileChooser();
previewChooser.getExtensionFilters().add(new ExtensionFilter("PNG", "*.png"));
Button previewButton = new Button("Import preview PNG");
- previewButton.setOnAction(e -> {selectedPreview = previewChooser.showOpenDialog(primaryStage);});
+ previewButton.setOnAction(e -> {selectedPreview = previewChooser.showOpenDialog(Driver.primaryStage);});
FileChooser songChooser = new FileChooser();
songChooser.getExtensionFilters().add(new ExtensionFilter("WAV", "*.wav"));
Button songButton = new Button("Import song WAV");
- songButton.setOnAction(e -> selectedSong = songChooser.showOpenDialog(primaryStage));
+ songButton.setOnAction(e -> selectedSong = songChooser.showOpenDialog(Driver.primaryStage));
Text diffLabel = new Text("Difficulties");
@@ -88,7 +88,7 @@ public class LevelEditor
Button edit = new Button("Edit");
- edit.setOnAction(e -> new DiffEditor(diffList.getSelectionModel().getSelectedItem()));
+ edit.setOnAction(e -> Driver.setMenu(new DiffEditor(diffList.getSelectionModel().getSelectedItem())));
Button remove = new Button("Delete");
remove.setOnAction(e -> level.removeDiff(diffList.getSelectionModel().getSelectedItem()));
@@ -142,9 +142,7 @@ public class LevelEditor
HBox mainBox = new HBox();
mainBox.getChildren().addAll(options,diffBox);
-
- Scene scene = new Scene(mainBox);
- primaryStage.setScene(scene);
- primaryStage.show();
+
+ super.getChildren().add(mainBox);
}
} \ No newline at end of file
diff --git a/src/main/java/net/sowgro/npehero/devmenu/LevelList.java b/src/main/java/net/sowgro/npehero/devmenu/LevelList.java
index 8d5e0cb..c1c38af 100755
--- a/src/main/java/net/sowgro/npehero/devmenu/LevelList.java
+++ b/src/main/java/net/sowgro/npehero/devmenu/LevelList.java
@@ -2,6 +2,7 @@ package net.sowgro.npehero.devmenu;
import javafx.beans.property.ReadOnlyBooleanWrapper;
import javafx.beans.property.ReadOnlyStringWrapper;
+import javafx.scene.layout.Pane;
import net.sowgro.npehero.Driver;
import javafx.scene.Scene;
import javafx.scene.control.Button;
@@ -14,7 +15,7 @@ import javafx.stage.Stage;
import net.sowgro.npehero.main.Level;
import net.sowgro.npehero.main.LevelController;
-public class LevelList
+public class LevelList extends Pane
{
/*
* this class is a layout class, most of its purpose is to place UI elements like Buttons within Panes like VBoxes.
@@ -42,7 +43,7 @@ public class LevelList
Button edit = new Button("Edit");
- edit.setOnAction(e -> new LevelEditor(levels.getSelectionModel().getSelectedItem()));
+ edit.setOnAction(e -> Driver.setMenu(new LevelEditor(levels.getSelectionModel().getSelectedItem())));
Button remove = new Button("Delete");
remove.setOnAction(e -> Driver.levelController.removeLevel(levels.getSelectionModel().getSelectedItem()));
@@ -64,9 +65,6 @@ public class LevelList
VBox main = new VBox();
main.getChildren().addAll(levels,buttons,newLevelBox);
- Scene scene = new Scene(main, 400, 400);
- Stage primaryStage = new Stage();
- primaryStage.setScene(scene);
- primaryStage.show();
+ super.getChildren().add(main);
}
} \ No newline at end of file
diff --git a/src/main/java/net/sowgro/npehero/devmenu/NotesEditor.java b/src/main/java/net/sowgro/npehero/devmenu/NotesEditor.java
index 25b21f1..39a2b8e 100755
--- a/src/main/java/net/sowgro/npehero/devmenu/NotesEditor.java
+++ b/src/main/java/net/sowgro/npehero/devmenu/NotesEditor.java
@@ -3,6 +3,8 @@ package net.sowgro.npehero.devmenu;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
+
+import javafx.scene.layout.Pane;
import net.sowgro.npehero.gameplay.Timer;
import net.sowgro.npehero.Driver;
import javafx.scene.Scene;
@@ -13,7 +15,7 @@ import javafx.scene.text.Text;
import javafx.stage.Stage;
import net.sowgro.npehero.main.Difficulty;
-public class NotesEditor
+public class NotesEditor extends Pane
{
Text help;
String t1 = "Press Start to begin recording. Use the same keys. Note: existing notes will be overwitten.";
@@ -39,13 +41,11 @@ public class NotesEditor
VBox main = new VBox();
main.getChildren().addAll(help,cur,start,stop);
- Scene scene = new Scene(main);
- Stage primaryStage = new Stage();
- primaryStage.setScene(scene);
- primaryStage.show();
+ super.getChildren().add(main);
writer = new PrintWriter(diff.notes, "UTF-8");
+ Scene scene = Driver.primaryStage.getScene();
scene.setOnKeyPressed(e -> {
if (e.getCode() == KeyCode.D) {
writer.println("d"+timer);
@@ -73,7 +73,7 @@ public class NotesEditor
}
});
- primaryStage.setOnCloseRequest(e -> stop());
+ Driver.primaryStage.setOnCloseRequest(e -> stop());
}
private void start()
diff --git a/src/main/java/net/sowgro/npehero/gui/MainMenu.java b/src/main/java/net/sowgro/npehero/gui/MainMenu.java
index bb1970f..2da6036 100755
--- a/src/main/java/net/sowgro/npehero/gui/MainMenu.java
+++ b/src/main/java/net/sowgro/npehero/gui/MainMenu.java
@@ -9,6 +9,7 @@ import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Text;
import net.sowgro.npehero.Driver;
+import net.sowgro.npehero.devmenu.LevelList;
public class MainMenu extends Pane
@@ -39,10 +40,17 @@ public class MainMenu extends Pane
Button settings = new Button();
settings.setText("Settings");
- settings.setOnAction(e -> {Driver.setMenu(new Settings());
+ settings.setOnAction(_ -> {
+ Driver.setMenu(new Settings());
Driver.soundController.playSfx("forward");
});
+ Button levelEdit = new Button("Level Editor");
+ levelEdit.setOnAction(e -> {
+ Driver.soundController.playSfx("forward");
+ Driver.setMenu(new LevelList());
+ });
+
Button exit = new Button();
exit.setText("Quit");
exit.setOnAction(e -> {Driver.quit();
@@ -50,7 +58,7 @@ public class MainMenu extends Pane
});
VBox buttonBox = new VBox();
- buttonBox.getChildren().addAll(play, settings, exit);
+ buttonBox.getChildren().addAll(play, settings, levelEdit, exit);
buttonBox.setAlignment(Pos.CENTER);
buttonBox.setSpacing(10);
diff --git a/src/main/java/net/sowgro/npehero/gui/Settings.java b/src/main/java/net/sowgro/npehero/gui/Settings.java
index 882eb86..e6ae13b 100755
--- a/src/main/java/net/sowgro/npehero/gui/Settings.java
+++ b/src/main/java/net/sowgro/npehero/gui/Settings.java
@@ -73,12 +73,6 @@ public class Settings extends Pane
Text devLabel = new Text("Advanced");
devLabel.getStyleClass().add("t3");
-
- Button levelEdit = new Button("Level Utility");
- levelEdit.setOnAction(e -> {
- Driver.soundController.playSfx("forward");
- new LevelList();
- });
Button devMenu = new Button();
devMenu.setText("Debug Menu");
@@ -89,7 +83,7 @@ public class Settings extends Pane
VBox devBox = new VBox();
devBox.getStyleClass().add("box");
- devBox.getChildren().addAll(devLabel,levelEdit,devMenu);
+ devBox.getChildren().addAll(devLabel,devMenu);
devBox.setVisible(false);
devBox.setManaged(false);
devBox.setPadding(new Insets(10));
diff --git a/src/main/resources/net/sowgro/npehero/style.css b/src/main/resources/net/sowgro/npehero/style.css
index dd1de55..6e8a7a3 100755
--- a/src/main/resources/net/sowgro/npehero/style.css
+++ b/src/main/resources/net/sowgro/npehero/style.css
@@ -4,6 +4,7 @@
.root{
-fx-font-family: "space mono";
+ -fx-font-size: 20;
}
/* button */