diff options
| author | sowgro <tpoke.ferrari@gmail.com> | 2024-07-23 17:03:40 -0400 | 
|---|---|---|
| committer | sowgro <tpoke.ferrari@gmail.com> | 2024-07-23 17:03:40 -0400 | 
| commit | d04c277edff957d14b6261dd38da43c18b7ba189 (patch) | |
| tree | 09ccedfb21efc49485a33c5daaa121fd4a01ef78 /src/main/java/net/sowgro/npehero/gui | |
| parent | aae98b8bfca1578c14d6dde3a2f3180c7c580131 (diff) | |
| download | NPEhero-d04c277edff957d14b6261dd38da43c18b7ba189.tar.gz NPEhero-d04c277edff957d14b6261dd38da43c18b7ba189.tar.bz2 NPEhero-d04c277edff957d14b6261dd38da43c18b7ba189.zip  | |
Improve level API and error handling
Diffstat (limited to 'src/main/java/net/sowgro/npehero/gui')
4 files changed, 19 insertions, 6 deletions
diff --git a/src/main/java/net/sowgro/npehero/gui/ControlEditor.java b/src/main/java/net/sowgro/npehero/gui/ControlEditor.java index 1d1a73d..90161e0 100644 --- a/src/main/java/net/sowgro/npehero/gui/ControlEditor.java +++ b/src/main/java/net/sowgro/npehero/gui/ControlEditor.java @@ -8,10 +8,12 @@ import javafx.scene.input.KeyCode;  import javafx.scene.input.KeyEvent;  import javafx.scene.layout.*;  import net.sowgro.npehero.Driver; +import net.sowgro.npehero.editor.ErrorDisplay;  import net.sowgro.npehero.main.Control;  import net.sowgro.npehero.main.Page;  import net.sowgro.npehero.main.Sound; +import java.io.IOException;  import java.util.List;  import java.util.Map; @@ -70,9 +72,13 @@ public class ControlEditor extends Page {                  controlButton.setText(keyToString(control.keyProperty.get()));                  control.keyProperty.addListener(_ -> {                      controlButton.setText(keyToString(control.keyProperty.get())); -                    Control.writeToFile(); +                    try { +                        Control.writeToFile(); +                    } catch (IOException e) { +                        Driver.setMenu(new ErrorDisplay("An error occured while saving your controls\n"+e, this)); +                    }                  }); -                controlButton.setOnMouseClicked(_ -> { +                controlButton.setOnAction(_ -> {                      EventHandler<KeyEvent> keyListener = new EventHandler<>() {                          @Override                          public void handle(KeyEvent k) { @@ -93,7 +99,7 @@ public class ControlEditor extends Page {                  // reset button                  Button resetButton = new Button("Reset"); -                resetButton.setOnMouseClicked(_ -> { +                resetButton.setOnAction(_ -> {                      control.keyProperty.set(control.defaultKey);                  });                  controls.add(resetButton, 2, i); diff --git a/src/main/java/net/sowgro/npehero/gui/LevelDetails.java b/src/main/java/net/sowgro/npehero/gui/LevelDetails.java index afbdce4..4bd1e09 100755 --- a/src/main/java/net/sowgro/npehero/gui/LevelDetails.java +++ b/src/main/java/net/sowgro/npehero/gui/LevelDetails.java @@ -86,7 +86,7 @@ public class LevelDetails extends VBox              FlowPane diffSelector = new FlowPane();              diffSelector.setAlignment(Pos.CENTER);              ToggleGroup diffToggleGroup = new ToggleGroup(); //allows only one to be selected at a time -            for (Difficulty diff : level.difficulties.validList) //adds a button for each diff +            for (Difficulty diff : level.difficulties.getValidList()) //adds a button for each diff              {                  RadioButton temp = new RadioButton();                  temp.getStyleClass().remove("radio-button"); //makes the buttons not look like a radio button and instead a normal button diff --git a/src/main/java/net/sowgro/npehero/gui/LevelSelector.java b/src/main/java/net/sowgro/npehero/gui/LevelSelector.java index 1c840b4..3c8f25f 100755 --- a/src/main/java/net/sowgro/npehero/gui/LevelSelector.java +++ b/src/main/java/net/sowgro/npehero/gui/LevelSelector.java @@ -32,7 +32,7 @@ public class LevelSelector extends Page          titleCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().title));          artistCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().artist)); -        levels.setItems(Levels.validList); +        levels.setItems(Levels.getValidList());          levels.prefWidthProperty().bind(content.prefWidthProperty().multiply(0.25));          levels.prefHeightProperty().bind(content.prefHeightProperty().multiply(0.75)); diff --git a/src/main/java/net/sowgro/npehero/gui/SettingsEditor.java b/src/main/java/net/sowgro/npehero/gui/SettingsEditor.java index d9bad03..12555ed 100755 --- a/src/main/java/net/sowgro/npehero/gui/SettingsEditor.java +++ b/src/main/java/net/sowgro/npehero/gui/SettingsEditor.java @@ -11,10 +11,13 @@ import javafx.scene.layout.Pane;  import javafx.scene.layout.VBox;  import javafx.scene.text.Text;  import net.sowgro.npehero.Driver; +import net.sowgro.npehero.editor.ErrorDisplay;  import net.sowgro.npehero.main.Page;  import net.sowgro.npehero.main.Settings;  import net.sowgro.npehero.main.Sound; +import java.io.IOException; +  public class SettingsEditor extends Page  {      private final HBox content = new HBox(); @@ -89,7 +92,11 @@ public class SettingsEditor extends Page          Button exit = new Button();          exit.setText("Back");          exit.setOnAction(e -> { -            Settings.save(); +            try { +                Settings.save(); +            } catch (IOException ex) { +                Driver.setMenu(new ErrorDisplay("Failed to save settings"+e, this)); +            }              Sound.playSfx(Sound.BACKWARD);              Driver.setMenu(new MainMenu());          });  | 
