diff options
Diffstat (limited to 'src/main/LevelController.java')
-rw-r--r-- | src/main/LevelController.java | 90 |
1 files changed, 35 insertions, 55 deletions
diff --git a/src/main/LevelController.java b/src/main/LevelController.java index 3abf810..eff512d 100644 --- a/src/main/LevelController.java +++ b/src/main/LevelController.java @@ -5,70 +5,50 @@ import java.io.IOException; import javafx.collections.FXCollections; import javafx.collections.ObservableList; -import javafx.scene.image.Image; public class LevelController { - public static ObservableList<Level> levelList = FXCollections.observableArrayList(); + File thisDir = new File("levels"); + public static ObservableList<Level> levelList; public LevelController() { - for (File curFileInLevels: new File("levels").listFiles()) //iterates through all files/folders in src/assets/levels + readData(); + } + + public void readData() + { + levelList = FXCollections.observableArrayList(); + for (File cur: thisDir.listFiles()) //iterates through all files/folders in levels { - Level level = new Level(); - for(File curFileInCurLevel: curFileInLevels.listFiles()) //iterates through all files/folders in src/assets/levels/LEVEL - { - if (curFileInCurLevel.isDirectory()) //all subfolders within a level folder are difficulties - { - Difficulty diff = new Difficulty(); - for(File curFileInCurDiff: curFileInCurLevel.listFiles()) //iterates through all files/folders in src/assets/levels/LEVEL/DIFFICULTY - { - if (curFileInCurDiff.getName().equals("metadata.json")) - { - try { - diff.parseMetadata(curFileInCurDiff); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - if (curFileInCurDiff.getName().equals("leaderboard.json")) - { - try { - diff.parseLeaderboard(curFileInCurDiff); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - if (curFileInCurDiff.getName().equals("notes.txt")) - { - diff.notes = curFileInCurDiff; - } - if (curFileInCurDiff.getName().equals("song.wav")) - { - diff.song = curFileInCurDiff; - } - } - level.diffList.add(diff); - } + Level level = new Level(cur); + levelList.add(level); + } + } - if (curFileInCurLevel.getName().equals("preview.png")) - { - level.preview = new Image(curFileInCurLevel.toURI().toString()); - } + public void addLevel(String text) + { + File levelDir = new File(thisDir,text); + levelDir.mkdirs(); + File metadataDir = new File(levelDir, "metadata.json"); + try + { + metadataDir.createNewFile(); + } + catch (IOException e) + { + e.printStackTrace(); + } + readData(); + } - if (curFileInCurLevel.getName().equals("metadata.json")) - { - level.parseMetadata(curFileInCurLevel); - } + public void removeLevel(Level level) + { + //soon + } - if (curFileInCurLevel.getName().equals("background.png")) - { - level.background = new Image(curFileInCurLevel.toURI().toString()); - } - } - levelList.add(level); - } + public void renameLevel(Level level, String newName) + { + //soon } }
\ No newline at end of file |