diff options
Diffstat (limited to 'src/main/java/net/sowgro/npehero/devmenu')
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."); |