aboutsummaryrefslogtreecommitdiff
path: root/src/main/LevelController.java
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2024-07-08 02:41:31 -0400
committersowgro <tpoke.ferrari@gmail.com>2024-07-08 02:41:31 -0400
commitee2229339429d50afa33e2f8b9c0ee0939766290 (patch)
treea5ee54bd23c24950e9b10815f3e87605906992d8 /src/main/LevelController.java
parent9e1371424bdf4c31d756d686313730d4c61f7ac5 (diff)
downloadNPEhero-ee2229339429d50afa33e2f8b9c0ee0939766290.tar.gz
NPEhero-ee2229339429d50afa33e2f8b9c0ee0939766290.tar.bz2
NPEhero-ee2229339429d50afa33e2f8b9c0ee0939766290.zip
Change project structure, embed resources into jar and remove libraries from source control
Diffstat (limited to 'src/main/LevelController.java')
-rw-r--r--src/main/LevelController.java95
1 files changed, 0 insertions, 95 deletions
diff --git a/src/main/LevelController.java b/src/main/LevelController.java
deleted file mode 100644
index 07ea3f8..0000000
--- a/src/main/LevelController.java
+++ /dev/null
@@ -1,95 +0,0 @@
-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;
-
-public class LevelController
-{
- File thisDir = new File("levels");
- private static ObservableList<Level> levelList;
- private static ObservableList<Level> validLevelList;
-
- /**
- * 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();
- validLevelList = FXCollections.observableArrayList();
- for (File cur: thisDir.listFiles()) //iterates through all files/folders in levels
- {
- Level level = new Level(cur);
- level.readData();
- levelList.add(level);
- if (level.isValid())
- {
- validLevelList.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);
- levelDir.mkdirs();
- File metadataDir = new File(levelDir, "metadata.json");
- try
- {
- metadataDir.createNewFile();
- }
- catch (IOException e)
- {
- 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)
- {
- 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();
- }
- readData();
- }
-
- public static ObservableList<Level> getLevelList() {
- return levelList;
- }
-
- public static ObservableList<Level> getValidLevelList() {
- return validLevelList;
- }
-} \ No newline at end of file