From 48bfed142f7175809a43037fb695b6fcdc4146b1 Mon Sep 17 00:00:00 2001 From: sowgro Date: Thu, 1 Jun 2023 11:38:04 -0400 Subject: finish gui level editor --- src/main/LevelController.java | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'src/main/LevelController.java') diff --git a/src/main/LevelController.java b/src/main/LevelController.java index eff512d..9a94838 100644 --- a/src/main/LevelController.java +++ b/src/main/LevelController.java @@ -22,6 +22,7 @@ public class LevelController for (File cur: thisDir.listFiles()) //iterates through all files/folders in levels { Level level = new Level(cur); + level.readData(); levelList.add(level); } } @@ -39,16 +40,9 @@ public class LevelController { e.printStackTrace(); } + Level temp = new Level(levelDir); + temp.setTitle(text); + temp.writeMetadata(); readData(); } - - public void removeLevel(Level level) - { - //soon - } - - public void renameLevel(Level level, String newName) - { - //soon - } } \ No newline at end of file -- cgit v1.2.3 From 4e43d6f020d908ccd9b8a6b77803cac943da00ed Mon Sep 17 00:00:00 2001 From: sowgro Date: Fri, 2 Jun 2023 00:48:13 -0400 Subject: Finish levelUtility and project cleanup --- src/main/LevelController.java | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'src/main/LevelController.java') diff --git a/src/main/LevelController.java b/src/main/LevelController.java index 9a94838..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,11 +14,17 @@ public class LevelController File thisDir = new File("levels"); public static ObservableList 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(); @@ -27,6 +36,10 @@ public class LevelController } } + /** + * 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); @@ -45,4 +58,23 @@ public class LevelController temp.writeMetadata(); readData(); } + + /** + * Removes level from the filesystem then reloads this levelController + * @param level: the level to be removed + */ + public void removeLevel(Level level) + { + File hold = level.thisDir; + levelList.remove(level); + + 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 -- cgit v1.2.3