diff options
Diffstat (limited to 'src/main/java/net/sowgro/npehero/editor')
5 files changed, 53 insertions, 20 deletions
diff --git a/src/main/java/net/sowgro/npehero/editor/DiffEditor.java b/src/main/java/net/sowgro/npehero/editor/DiffEditor.java index f98ff46..6940485 100755 --- a/src/main/java/net/sowgro/npehero/editor/DiffEditor.java +++ b/src/main/java/net/sowgro/npehero/editor/DiffEditor.java @@ -61,7 +61,7 @@ public class DiffEditor extends Page Button playLevel = new Button("Play level"); playLevel.setOnAction(_ -> { - if (diff.isValid && diff.level.isValid) { + if (diff.isValid() && diff.level.isValid()) { Driver.setMenu(new LevelSurround(diff.level, diff, this)); } else { diff --git a/src/main/java/net/sowgro/npehero/editor/DiffList.java b/src/main/java/net/sowgro/npehero/editor/DiffList.java index 13e4795..7017c32 100755 --- a/src/main/java/net/sowgro/npehero/editor/DiffList.java +++ b/src/main/java/net/sowgro/npehero/editor/DiffList.java @@ -14,6 +14,7 @@ import net.sowgro.npehero.main.Level; import net.sowgro.npehero.main.Page; import net.sowgro.npehero.main.Sound; +import java.io.IOException; import java.util.Collections; public class DiffList extends Page @@ -33,7 +34,7 @@ public class DiffList extends Page titleCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().title)); validCol.setCellValueFactory(data -> { - if (data.getValue().isValid) { + if (data.getValue().isValid()) { return new ReadOnlyStringWrapper("Yes"); } else { @@ -63,7 +64,13 @@ public class DiffList extends Page edit.disableProperty().bind(diffs.getSelectionModel().selectedItemProperty().isNull()); Button remove = new Button("Delete"); - remove.setOnAction(e -> level.difficulties.remove(diffs.getSelectionModel().getSelectedItem())); + remove.setOnAction(e -> { + try { + level.difficulties.remove(diffs.getSelectionModel().getSelectedItem()); + } catch (IOException ex) { + Driver.setMenu(new ErrorDisplay("Failed to remove difficulty\n"+e, this)); + } + }); remove.setDisable(true); remove.disableProperty().bind(diffs.getSelectionModel().selectedItemProperty().isNull()); @@ -139,7 +146,11 @@ public class DiffList extends Page }); newLevelButton.setOnAction(_ -> { - level.difficulties.add(newLevelEntry.getText()); + try { + level.difficulties.add(newLevelEntry.getText()); + } catch (IOException e) { + Driver.setMenu(new ErrorDisplay("Failed to add level\n"+e, this)); + } newLevelEntry.clear(); refresh.fire(); sidebar.getChildren().clear(); diff --git a/src/main/java/net/sowgro/npehero/editor/LevelEditor.java b/src/main/java/net/sowgro/npehero/editor/LevelEditor.java index 56a2924..b3ae2b8 100755 --- a/src/main/java/net/sowgro/npehero/editor/LevelEditor.java +++ b/src/main/java/net/sowgro/npehero/editor/LevelEditor.java @@ -78,7 +78,7 @@ public class LevelEditor extends Page ValidIndicator diffsInvalid = new ValidIndicator(); - if (level.difficulties.validList.isEmpty()) { + if (level.difficulties.getValidList().isEmpty()) { diffsInvalid.setInvalid("This level contains no valid difficulties!"); } HBox diffLabel = new HBox(new Text("Difficulties"), diffsInvalid); @@ -95,7 +95,7 @@ public class LevelEditor extends Page diffCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().title)); validCol.setCellValueFactory(data -> { - if (data.getValue().isValid) { + if (data.getValue().isValid()) { return new ReadOnlyStringWrapper("Yes"); } else { @@ -131,14 +131,19 @@ public class LevelEditor extends Page level.colors[2] = colorsPickers[2].getValue(); level.colors[3] = colorsPickers[3].getValue(); level.colors[4] = colorsPickers[4].getValue(); - if (selectedBackground != null && selectedBackground.exists()) { - level.addFile(selectedBackground,"background." + getFileExtension(selectedBackground)); - } - if (selectedPreview != null && selectedPreview.exists()) { - level.addFile(selectedPreview,"preview." + getFileExtension(selectedPreview)); - } - if (selectedSong != null) { - level.addFile(selectedSong,"song." + getFileExtension(selectedSong)); + + try { + if (selectedBackground != null && selectedBackground.exists()) { + level.addFile(selectedBackground, "background." + getFileExtension(selectedBackground)); + } + if (selectedPreview != null && selectedPreview.exists()) { + level.addFile(selectedPreview, "preview." + getFileExtension(selectedPreview)); + } + if (selectedSong != null) { + level.addFile(selectedSong, "song." + getFileExtension(selectedSong)); + } + } catch (Exception _) { + // TODO } level.writeMetadata(); }); @@ -166,7 +171,7 @@ public class LevelEditor extends Page Driver.setMenu(prev); }); - HBox bottom = new HBox(save, exit); + HBox bottom = new HBox(exit, save); bottom.setAlignment(Pos.CENTER); bottom.setSpacing(10); diff --git a/src/main/java/net/sowgro/npehero/editor/LevelList.java b/src/main/java/net/sowgro/npehero/editor/LevelList.java index b479f49..1bc85dd 100755 --- a/src/main/java/net/sowgro/npehero/editor/LevelList.java +++ b/src/main/java/net/sowgro/npehero/editor/LevelList.java @@ -14,6 +14,9 @@ import net.sowgro.npehero.main.Levels; import net.sowgro.npehero.main.Page; import net.sowgro.npehero.main.Sound; +import java.io.FileNotFoundException; +import java.io.IOException; + public class LevelList extends Page { private HBox content = new HBox(); @@ -34,7 +37,7 @@ public class LevelList extends Page titleCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().title)); artistCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().artist)); validCol.setCellValueFactory(data -> { - if (data.getValue().isValid) { + if (data.getValue().isValid()) { return new ReadOnlyStringWrapper("Yes"); } else { @@ -63,13 +66,23 @@ public class LevelList extends Page edit.disableProperty().bind(levels.getSelectionModel().selectedItemProperty().isNull()); Button remove = new Button("Delete"); - remove.setOnAction(e -> Levels.remove(levels.getSelectionModel().getSelectedItem())); + remove.setOnAction(e -> { + try { + Levels.remove(levels.getSelectionModel().getSelectedItem()); + } catch (IOException ex) { + Driver.setMenu(new ErrorDisplay("Failed to remove this level\n"+e.toString(), this)); + } + }); remove.setDisable(true); remove.disableProperty().bind(levels.getSelectionModel().selectedItemProperty().isNull()); Button refresh = new Button("Refresh"); refresh.setOnAction(e -> { - Levels.readData(); + try { + Levels.readData(); + } catch (FileNotFoundException ex) { + Driver.setMenu(new ErrorDisplay("Failed to load levels: Level folder is missing\n"+e.toString(), this)); + } levels.setItems(Levels.list); }); @@ -120,7 +133,11 @@ public class LevelList extends Page }); newLevelButton.setOnAction(_ -> { - Levels.add(newLevelEntry.getText()); + try { + Levels.add(newLevelEntry.getText()); + } catch (IOException e) { + Driver.setMenu(new ErrorDisplay("Failed to create this level\n"+e.toString(), this)); + } newLevelEntry.clear(); refresh.fire(); sidebar.getChildren().clear(); diff --git a/src/main/java/net/sowgro/npehero/editor/NotesEditor2.java b/src/main/java/net/sowgro/npehero/editor/NotesEditor2.java index 38ad234..8d17900 100644 --- a/src/main/java/net/sowgro/npehero/editor/NotesEditor2.java +++ b/src/main/java/net/sowgro/npehero/editor/NotesEditor2.java @@ -175,7 +175,7 @@ public class NotesEditor2 extends Page { buttons.setAlignment(Pos.CENTER); Runnable updateEndLine = () -> { - System.out.println("LISTENER CALLED"); +// System.out.println("LISTENER CALLED"); if (newEndTime.get() != 0) { endLine.layoutYProperty().bind(secondToScreenPos(newEndTime.get())); } |