diff options
author | Zach Jordan <zxjordan5@gmail.com> | 2023-06-02 08:14:35 -0400 |
---|---|---|
committer | Zach Jordan <zxjordan5@gmail.com> | 2023-06-02 08:14:35 -0400 |
commit | 408c42dc788a7d9c218071dea34843b4196fa7c8 (patch) | |
tree | 6a24298db96c1bec42d9720cc52b85451f896aab /src/main/LevelController.java | |
parent | b3306178c75bec60e0842285d20a816b318dba66 (diff) | |
parent | a0739dc019417f17e77f6c959ebc0989c873514c (diff) | |
download | NPEhero-408c42dc788a7d9c218071dea34843b4196fa7c8.tar.gz NPEhero-408c42dc788a7d9c218071dea34843b4196fa7c8.tar.bz2 NPEhero-408c42dc788a7d9c218071dea34843b4196fa7c8.zip |
Merge branch 'main' of https://gitlab.sowgro.net/guitarheros/guitarhero
Diffstat (limited to 'src/main/LevelController.java')
-rw-r--r-- | src/main/LevelController.java | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/src/main/LevelController.java b/src/main/LevelController.java index eff512d..78d638a 100644 --- a/src/main/LevelController.java +++ b/src/main/LevelController.java @@ -2,6 +2,9 @@ package main; import java.io.File; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.Comparator; import javafx.collections.FXCollections; import javafx.collections.ObservableList; @@ -11,21 +14,32 @@ public class LevelController File thisDir = new File("levels"); public static ObservableList<Level> levelList; + /** + * Creates a levelController, which holds all the levels + */ public LevelController() { readData(); } + /** + * Reads contents of folder and creates cooresponding levels + */ public void readData() { levelList = FXCollections.observableArrayList(); for (File cur: thisDir.listFiles()) //iterates through all files/folders in levels { Level level = new Level(cur); + level.readData(); levelList.add(level); } } + /** + * Adds a level to the list by creating a directory and required files + * @param text: the name of the directory and default title + */ public void addLevel(String text) { File levelDir = new File(thisDir,text); @@ -39,16 +53,28 @@ public class LevelController { e.printStackTrace(); } + Level temp = new Level(levelDir); + temp.setTitle(text); + temp.writeMetadata(); readData(); } + /** + * Removes level from the filesystem then reloads this levelController + * @param level: the level to be removed + */ public void removeLevel(Level level) { - //soon - } + File hold = level.thisDir; + levelList.remove(level); - public void renameLevel(Level level, String newName) - { - //soon + try { + Files.walk(hold.toPath()) + .sorted(Comparator.reverseOrder()) + .map(Path::toFile) + .forEach(File::delete); + } catch (IOException e) { + e.printStackTrace(); + } } }
\ No newline at end of file |