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.");  | 
