diff options
author | sowgro <tpoke.ferrari@gmail.com> | 2024-07-08 02:41:31 -0400 |
---|---|---|
committer | sowgro <tpoke.ferrari@gmail.com> | 2024-07-08 02:41:31 -0400 |
commit | ee2229339429d50afa33e2f8b9c0ee0939766290 (patch) | |
tree | a5ee54bd23c24950e9b10815f3e87605906992d8 /src/main/java/net/sowgro/npehero/devmenu/DiffEditor.java | |
parent | 9e1371424bdf4c31d756d686313730d4c61f7ac5 (diff) | |
download | NPEhero-ee2229339429d50afa33e2f8b9c0ee0939766290.tar.gz NPEhero-ee2229339429d50afa33e2f8b9c0ee0939766290.tar.bz2 NPEhero-ee2229339429d50afa33e2f8b9c0ee0939766290.zip |
Change project structure, embed resources into jar and remove libraries from source control
Diffstat (limited to 'src/main/java/net/sowgro/npehero/devmenu/DiffEditor.java')
-rwxr-xr-x | src/main/java/net/sowgro/npehero/devmenu/DiffEditor.java | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/src/main/java/net/sowgro/npehero/devmenu/DiffEditor.java b/src/main/java/net/sowgro/npehero/devmenu/DiffEditor.java new file mode 100755 index 0000000..d4ebb02 --- /dev/null +++ b/src/main/java/net/sowgro/npehero/devmenu/DiffEditor.java @@ -0,0 +1,79 @@ +package net.sowgro.npehero.devmenu; + +import java.io.FileNotFoundException; +import java.io.UnsupportedEncodingException; + +import net.sowgro.npehero.Driver; +import net.sowgro.npehero.gui.LevelSurround; +import net.sowgro.npehero.gui.MainMenu; +import javafx.scene.Scene; +import javafx.scene.control.Button; +import javafx.scene.control.TextField; +import javafx.scene.layout.VBox; +import javafx.scene.text.Text; +import javafx.stage.Stage; +import net.sowgro.npehero.main.Difficulty; + +public class DiffEditor +{ + /* + * 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. + */ + public DiffEditor(Difficulty diff) + { + Stage primaryStage = new Stage(); + + Text folderNameLabel = new Text("Folder name (ordered alphabetically)"); + TextField folderName = new TextField(diff.thisDir.getName()); + folderName.setDisable(true); + + Text titleLabel = new Text("Title"); + TextField title = new TextField(diff.title); + + Text bpmLabel = new Text("BPM"); + TextField bpm = new TextField(diff.bpm+""); + + Text numBeatsLabel = new Text("Number of beats (set by notes editor)"); + TextField numBeats = new TextField(diff.numBeats+""); + + Text priorityLabel = new Text("priority (lower first)"); + TextField priority = new TextField(diff.priority+""); + + Button editNotes = new Button("Edit notes"); + editNotes.setOnAction(e -> { + try { + new NotesEditor(diff); + } catch (FileNotFoundException | UnsupportedEncodingException e1) { + e1.printStackTrace(); + } + }); + + Button editScores = new Button("Clear leaderboard"); + editScores.setOnAction(e -> diff.getLeaderboard().clear()); + + Button playLevel = new Button("Launch level"); + playLevel.setOnAction(e -> Driver.setMenu(new LevelSurround(diff.level, diff, new MainMenu()))); + + Button refresh = new Button("Refresh"); + refresh.setOnAction( e -> { + numBeats.setText(diff.numBeats+""); + }); + + Button save = new Button("Save"); + save.setOnAction(e -> { //assigns text feilds to values + diff.title = title.getText(); + diff.bpm = Double.parseDouble(bpm.getText()); + diff.numBeats = Integer.parseInt(numBeats.getText()); + diff.priority = Integer.parseInt(priority.getText()); + diff.writeMetadata(); + }); + + 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(); + } +}
\ No newline at end of file |