aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/sowgro/npehero/devmenu
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/sowgro/npehero/devmenu')
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/devmenu/DebugMenu.java41
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/devmenu/NotesEditor.java20
-rw-r--r--src/main/java/net/sowgro/npehero/devmenu/NotesEditor2.java51
3 files changed, 44 insertions, 68 deletions
diff --git a/src/main/java/net/sowgro/npehero/devmenu/DebugMenu.java b/src/main/java/net/sowgro/npehero/devmenu/DebugMenu.java
deleted file mode 100755
index aecd438..0000000
--- a/src/main/java/net/sowgro/npehero/devmenu/DebugMenu.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package net.sowgro.npehero.devmenu;
-
-import net.sowgro.npehero.Driver;
-import javafx.scene.Scene;
-import javafx.scene.control.Button;
-import javafx.scene.layout.VBox;
-import javafx.stage.Stage;
-
-public class DebugMenu
-{
- public Stage primaryStage = new Stage();
-
- /*
- * this class is a layout class, most of its purpose is to place UI elements like Buttons within Panes like VBoxes.
- * the creation of these UI elements are mostly not commented due to their repetitive and self explanatory nature.
- * style classes are defined in the style.css file.
- */
- VBox primaryPane = new VBox();
- public DebugMenu()
- {
- Button testVol = new Button();
- testVol.setText("print volumes");
- testVol.setOnAction(e -> System.out.println("setc:"+Driver.settingsController.effectsVol+" sndc:"+Driver.soundController.songMediaPlayer.getVolume()));
-
- primaryPane.getChildren().addAll(testVol);
-
- Scene primaryScene = new Scene(primaryPane);
- primaryStage.setScene(primaryScene);
- primaryStage.setTitle("debug");
- }
-
- public void show()
- {
- primaryStage.show();
- }
-
- public void addButton(Button b)
- {
- primaryPane.getChildren().add(b);
- }
-}
diff --git a/src/main/java/net/sowgro/npehero/devmenu/NotesEditor.java b/src/main/java/net/sowgro/npehero/devmenu/NotesEditor.java
index 7e78701..985b2d0 100755
--- a/src/main/java/net/sowgro/npehero/devmenu/NotesEditor.java
+++ b/src/main/java/net/sowgro/npehero/devmenu/NotesEditor.java
@@ -5,6 +5,7 @@ import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import javafx.geometry.Pos;
+import javafx.scene.input.KeyEvent;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.media.Media;
@@ -12,9 +13,9 @@ import net.sowgro.npehero.gameplay.Timer;
import net.sowgro.npehero.Driver;
import javafx.scene.Scene;
import javafx.scene.control.Button;
-import javafx.scene.input.KeyCode;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
+import net.sowgro.npehero.main.Control;
import net.sowgro.npehero.main.Difficulty;
import net.sowgro.npehero.main.SoundController;
@@ -22,7 +23,7 @@ public class NotesEditor extends Pane
{
Text help;
String t1 = "Press Start to begin recording. Use the same keys. Note: existing notes will be overwritten.";
- String t2 = "Now recording. Press Stop or ESC to finish";
+ String t2 = "Now recording. Press Stop or " + Control.LEGACY_STOP.getKey().toString() + " to finish";
Difficulty diff;
Timer timer;
PrintWriter writer;
@@ -68,31 +69,32 @@ public class NotesEditor extends Pane
writer = new PrintWriter(diff.notes.getFile(), "UTF-8");
Scene scene = Driver.primaryStage.getScene();
- scene.setOnKeyPressed(e -> {
- if (e.getCode() == KeyCode.D) {
+ scene.addEventFilter(KeyEvent.KEY_PRESSED, e -> {
+ if (e.getCode() == Control.LANE0.getKey()) {
writer.println("d"+timer);
cur.setText("d"+timer);
}
- if (e.getCode() == KeyCode.F) {
+ if (e.getCode() == Control.LANE1.getKey()) {
writer.println("f"+timer);
cur.setText("f"+timer);
}
- if (e.getCode() == KeyCode.SPACE) {
+ if (e.getCode() == Control.LANE2.getKey()) {
writer.println("s"+timer);
cur.setText("s"+timer);
}
- if (e.getCode() == KeyCode.J) {
+ if (e.getCode() == Control.LANE3.getKey()) {
writer.println("j"+timer);
cur.setText("j"+timer);
}
- if (e.getCode() == KeyCode.K) {
+ if (e.getCode() == Control.LANE4.getKey()) {
writer.println("k"+timer);
cur.setText("k"+timer);
}
- if (e.getCode() == KeyCode.ESCAPE)
+ if (e.getCode() == Control.LEGACY_STOP.getKey())
{
stop();
}
+ e.consume();
});
Driver.primaryStage.setOnCloseRequest(e -> stop());
diff --git a/src/main/java/net/sowgro/npehero/devmenu/NotesEditor2.java b/src/main/java/net/sowgro/npehero/devmenu/NotesEditor2.java
index 99aacec..cd76801 100644
--- a/src/main/java/net/sowgro/npehero/devmenu/NotesEditor2.java
+++ b/src/main/java/net/sowgro/npehero/devmenu/NotesEditor2.java
@@ -8,6 +8,8 @@ import javafx.collections.ListChangeListener;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.control.*;
+import javafx.scene.input.KeyCode;
+import javafx.scene.input.KeyEvent;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.layout.StackPane;
@@ -24,6 +26,7 @@ import net.sowgro.npehero.gameplay.Target;
import net.sowgro.npehero.main.Difficulty;
import net.sowgro.npehero.main.Note;
import net.sowgro.npehero.main.SoundController;
+import net.sowgro.npehero.main.Control;
import java.util.concurrent.atomic.AtomicInteger;
@@ -146,6 +149,7 @@ public class NotesEditor2 extends Pane {
save.setText("Done");
save.setOnAction(_ -> {
diff.notes.list = noteList;
+ diff.notes.writeFile();
m.stop();
SoundController.playSfx(SoundController.BACKWARD);
Driver.setMenu(new DiffEditor(diff, prev.prev));
@@ -192,18 +196,21 @@ public class NotesEditor2 extends Pane {
rootBox.setAlignment(Pos.CENTER);
// write notes on key press
- rootBox.setOnKeyPressed(e -> {
- switch (e.getCode()) {
- case D -> WriteNote(0);
- case F -> WriteNote(1);
- case G -> WriteNote(2); // Problem with space to select
- case J -> WriteNote(3);
- case K -> WriteNote(4);
- case EQUALS -> activeNotes.forEach(n -> n.note.time.setValue(n.note.time.get() - 0.01));
- case MINUS -> activeNotes.forEach(n -> n.note.time.setValue(n.note.time.get() + 0.01));
- case DELETE -> delNote.fire();
- case ESCAPE -> clearSelect.fire();
- };
+ rootBox.addEventFilter(KeyEvent.KEY_PRESSED, e -> {
+ KeyCode k = e.getCode();
+ if (k == Control.LANE0.getKey()) WriteNote(0);
+ if (k == Control.LANE1.getKey()) WriteNote(1);
+ if (k == Control.LANE2.getKey()) WriteNote(2);
+ if (k == Control.LANE3.getKey()) WriteNote(3);
+ if (k == Control.LANE4.getKey()) WriteNote(4);
+ if (k == Control.NOTE_DOWN.getKey()) MoveNoteDown();
+ if (k == Control.NOTE_UP.getKey()) MoveNoteUp();
+ if (k == Control.DELETE_NOTE.getKey()) delNote.fire();
+ if (k == Control.CLEAR_SELECTION.getKey()) clearSelect.fire();
+ if (k == Control.SCROLL_LOCK.getKey()) scrollLock.fire();
+ if (k == Control.PLAY_PAUSE.getKey()) play.fire();
+ if (k == Control.SELECT_ALL.getKey()) selectAll.fire();
+ e.consume();
});
m.currentTimeProperty().addListener(_ -> {
@@ -343,14 +350,22 @@ public class NotesEditor2 extends Pane {
noteList.add(tmp);
}
+ private void MoveNoteUp() {
+ activeNotes.forEach(n -> n.note.time.setValue(n.note.time.get() + 0.01));
+ }
+
+ private void MoveNoteDown() {
+ activeNotes.forEach(n -> n.note.time.setValue(n.note.time.get() - 0.01));
+ }
+
private Pane addHelp() {
Label l1 = new Label("Use the following keys");
HBox hb = new HBox(
- new Target(diff.level.colors[0], 40, 40, 10, 'd'),
- new Target(diff.level.colors[1], 40, 40, 10, 'f'),
- new Target(diff.level.colors[2], 40, 40, 10, 'g'),
- new Target(diff.level.colors[3], 40, 40, 10, 'j'),
- new Target(diff.level.colors[4], 40, 40, 10, 'k')
+ new Target(diff.level.colors[0], 40, 40, 10, Control.LANE0.targetString()),
+ new Target(diff.level.colors[1], 40, 40, 10, Control.LANE1.targetString()),
+ new Target(diff.level.colors[2], 40, 40, 10, Control.LANE2.targetString()),
+ new Target(diff.level.colors[3], 40, 40, 10, Control.LANE3.targetString()),
+ new Target(diff.level.colors[4], 40, 40, 10, Control.LANE4.targetString())
);
hb.setSpacing(10);
hb.setAlignment(Pos.CENTER_LEFT);
@@ -364,7 +379,7 @@ public class NotesEditor2 extends Pane {
private Pane moveHelp() {
Label l1 = new Label("Use the");
- HBox hb = new HBox(new Target(Color.BLACK, 40, 40, 10, '+'), new Label("and"), new Target(Color.BLACK, 40, 40, 10, '-'), new Label("keys"));
+ HBox hb = new HBox(new Target(Color.BLACK, 40, 40, 10, Control.NOTE_UP.targetString()), new Label("and"), new Target(Color.BLACK, 40, 40, 10, Control.NOTE_DOWN.targetString()), new Label("keys"));
hb.setSpacing(10);
hb.setAlignment(Pos.CENTER_LEFT);
Label l2 = new Label("to move the selected \nnote(s) up and down.");