aboutsummaryrefslogtreecommitdiff
path: root/src/main/Difficulty.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/Difficulty.java')
-rw-r--r--src/main/Difficulty.java52
1 files changed, 48 insertions, 4 deletions
diff --git a/src/main/Difficulty.java b/src/main/Difficulty.java
index 7174c33..3dba47b 100644
--- a/src/main/Difficulty.java
+++ b/src/main/Difficulty.java
@@ -11,7 +11,7 @@ import org.json.simple.parser.JSONParser;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
-public class Difficulty
+public class Difficulty implements Comparable<Difficulty>
{
public File thisDir;
public String title = "Unnamed";
@@ -21,6 +21,7 @@ public class Difficulty
public int numBeats;
public Level level;
public boolean isValid = false;
+ public int priority = 0;
/**
* Creates a new Difficulty and gives it a file path
@@ -88,9 +89,46 @@ public class Difficulty
Object obj = jsonParser.parse(reader);
JSONObject diffStuff = (JSONObject)(obj); //converts read object to a JSONObject
- title = (String) diffStuff.get("title");
- bpm = Double.parseDouble(diffStuff.get("bpm")+"");
- numBeats = Integer.parseInt(diffStuff.get("numBeats")+"");
+ if (diffStuff.containsKey("title"))
+ {
+ title = (String) diffStuff.get("title");
+ }
+ else
+ {
+ System.err.println(file+" is missing properety title");
+ isValid = false;
+ }
+
+ if (diffStuff.containsKey("bpm"))
+ {
+ bpm = Double.parseDouble(diffStuff.get("bpm")+"");
+ }
+ else
+ {
+ System.err.println(file+" is missing properety bpm");
+ isValid = false;
+ }
+
+ if (diffStuff.containsKey("numBeats"))
+ {
+ numBeats = Integer.parseInt(diffStuff.get("numBeats")+"");
+ }
+ else
+ {
+ System.err.println(file+" is missing properety numBeats");
+ isValid = false;
+ }
+
+ if (diffStuff.containsKey("priority"))
+ {
+ priority = Integer.parseInt(diffStuff.get("priority")+"");
+
+ }
+ else
+ {
+ System.err.println(file+" is missing properety priority");
+ isValid = false;
+ }
}
catch (Exception e)
{
@@ -114,6 +152,7 @@ public class Difficulty
obj.put("title", title);
obj.put("bpm", bpm);
obj.put("numBeats", numBeats);
+ obj.put("priority", priority);
obj.writeJSONString(fileWriter);
fileWriter.flush();
}
@@ -213,4 +252,9 @@ public class Difficulty
public String getTitle() {
return title;
}
+
+ @Override
+ public int compareTo(Difficulty d) {
+ return priority - d.priority;
+ }
}