aboutsummaryrefslogtreecommitdiff
path: root/src/main/LevelController.java
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2023-06-01 00:53:04 -0400
committersowgro <tpoke.ferrari@gmail.com>2023-06-01 00:53:04 -0400
commit6c216a309838bf1cbeb19070ce180c0170ccd3c9 (patch)
tree461f877b9417621cb0a19b1bbc735c8455a570ba /src/main/LevelController.java
parent99584f39f8e8f3b69255135665040c2a947d4021 (diff)
downloadNPEhero-6c216a309838bf1cbeb19070ce180c0170ccd3c9.tar.gz
NPEhero-6c216a309838bf1cbeb19070ce180c0170ccd3c9.tar.bz2
NPEhero-6c216a309838bf1cbeb19070ce180c0170ccd3c9.zip
early code for level editor gui
Diffstat (limited to '')
-rw-r--r--src/main/LevelController.java90
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