diff options
Diffstat (limited to '')
-rw-r--r-- | src/main/Difficulty.java | 11 | ||||
-rw-r--r-- | src/main/Level.java | 38 | ||||
-rw-r--r-- | src/main/LevelController.java | 93 |
3 files changed, 66 insertions, 76 deletions
diff --git a/src/main/Difficulty.java b/src/main/Difficulty.java index 2d2b5c3..926d8d6 100644 --- a/src/main/Difficulty.java +++ b/src/main/Difficulty.java @@ -1,7 +1,6 @@ package main; import java.io.File; -import java.util.ArrayList; import javafx.collections.FXCollections; import javafx.collections.ObservableList; @@ -12,8 +11,12 @@ public class Difficulty public ObservableList<LeaderboardEntry> leaderboard = FXCollections.observableArrayList(); public File notes; - public String toString() - { - return title; + public void parseMetadata(File file) { + title = "placeholderDiff"; + } + + public void parseLeaderboard(File file) { + //and here + leaderboard.add(new LeaderboardEntry("placeholderScore", 0, "0/0/0")); } } diff --git a/src/main/Level.java b/src/main/Level.java index bf39af5..a9b5c48 100644 --- a/src/main/Level.java +++ b/src/main/Level.java @@ -20,7 +20,6 @@ import org.json.simple.parser.ParseException; public class Level { public Image preview; //optional - private String levelFolderName; private String title; private String artist; public String desc; @@ -36,13 +35,21 @@ public class Level colors = newColors; } - //all below is required for table view - public Level(String path) + public String getTitle() + { + return title; + } + + public String getArtist() + { + return artist; + } + + public void parseMetadata(File file) { - levelFolderName = path; JSONParser jsonParser = new JSONParser(); //parser to read the file - try(FileReader reader = new FileReader("src/assets/levels/" + levelFolderName+ "/metadata.json")) + try(FileReader reader = new FileReader(file)) { Object obj = jsonParser.parse(reader); @@ -64,25 +71,10 @@ public class Level catch (IOException e) { e.printStackTrace(); - } catch (ParseException e) { - // TODO Auto-generated catch block + } + catch (ParseException e) + { e.printStackTrace(); } } - - public String getTitle() { - return title; - } - - public String getArtist() { - return artist; - } - - // public void setTitle(String title) { - // this.title.set(title); - // } - - // public void setArtist(String artist) { - // this.artist.set(artist); - // } } diff --git a/src/main/LevelController.java b/src/main/LevelController.java index 4e1e8b7..c364962 100644 --- a/src/main/LevelController.java +++ b/src/main/LevelController.java @@ -1,11 +1,9 @@ package main; -import org.json.simple.parser.ParseException; - +import java.io.File; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.scene.image.Image; -import javafx.scene.paint.Color; public class LevelController { @@ -13,51 +11,48 @@ public class LevelController public LevelController() { - - Difficulty d1 = new Difficulty(); - d1.title = "Easy"; - LeaderboardEntry lb = new LeaderboardEntry("t-bone", 1000, "DATE"); - //lb.setName("t-bone"); - //lb.setScore(1000); - d1.leaderboard.add(lb); - - Difficulty d2 = new Difficulty(); - d2.title = "Medium"; - Difficulty d3 = new Difficulty(); - d3.title = "Hard"; - Difficulty d4 = new Difficulty(); - d4.title = "Expert"; - Difficulty d5 = new Difficulty(); - d5.title = "Impossible"; - - Level testLevel = new Level("test level"); - //testLevel.setTitle("test level class"); - testLevel.desc = "this level is being used to test the LevelController class"; - //testLevel.setArtist("testArtist"); - testLevel.setColors(Color.RED, Color.BLUE, Color.GREEN, Color.ORANGE, Color.PURPLE); - testLevel.diffList.add(d1); - testLevel.diffList.add(d2); - levelList.add(testLevel); - - Level testLevel2 = new Level("test level2"); - //testLevel2.setTitle("another one"); - testLevel2.desc = "it can say something else too"; - //testLevel2.setAritst("testArtist2"); - testLevel2.setColors(Color.RED, Color.BLUE, Color.GREEN, Color.ORANGE, Color.PURPLE); - testLevel2.diffList.add(d2); - testLevel2.diffList.add(d3); - testLevel2.diffList.add(d4); - testLevel2.preview = new Image("assets/pico.png"); - levelList.add(testLevel2); - - + for (File curFileInLevels: new File("src/assets/levels").listFiles()) //iterates through all files/folders in src/assets/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")) + { + diff.parseMetadata(curFileInCurDiff); + } + if (curFileInCurDiff.getName().equals("leaderboard.json")) + { + diff.parseLeaderboard(curFileInCurDiff); + } + if (curFileInCurDiff.getName().equals("notes.txt")) + { + diff.notes = curFileInCurDiff; + } + } + level.diffList.add(diff); + } + + if (curFileInCurLevel.getName().equals("preview.png")) + { + level.preview = new Image(curFileInCurLevel.toURI().toString()); + } + + if (curFileInCurLevel.getName().equals("metadata.json")) + { + level.parseMetadata(curFileInCurLevel); + } + + if (curFileInCurLevel.getName().equals("background.png")) + { + level.background = new Image(curFileInCurLevel.toURI().toString()); + } + } + levelList.add(level); + } } - - public void readInLevels() - { - //oh boy time for a flowchart - } - - - }
\ No newline at end of file |