Starsector API
Loading...
Searching...
No Matches
AgeGenDataSpec.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.procgen;
2
3import java.awt.Color;
4
5import org.json.JSONException;
6import org.json.JSONObject;
7
8public class AgeGenDataSpec {
9
10
11 //id,minExtraOrbits,maxExtraOrbits,probNebula,freqNormal,freqBinary,freqTrinary
12
13 private String id;
14 private float minExtraOrbits, maxExtraOrbits, probNebula, freqNormal, freqBinary, freqTrinary, nebulaDensity;
15
16 public AgeGenDataSpec(JSONObject row) throws JSONException {
17 id = row.getString("id");
18 minExtraOrbits = (float) row.optDouble("minExtraOrbits", 0);
19 maxExtraOrbits = (float) row.optDouble("maxExtraOrbits", 0);
20
21 probNebula = (float) row.optDouble("probNebula", 0);
22 freqNormal = (float) row.optDouble("freqNormal", 0);
23 freqBinary = (float) row.optDouble("freqBinary", 0);
24 freqTrinary = (float) row.optDouble("freqTrinary", 0);
25 nebulaDensity = (float) row.optDouble("nebulaDensity", 0.6f);
26 }
27
28 public static Color parseColor(String str, String sep) {
29 if (str == null) return Color.white;
30
31 String [] parts = str.split(sep);
32 if (parts.length != 4) return null;
33
34 return new Color(Integer.parseInt(parts[0].trim()),
35 Integer.parseInt(parts[1].trim()),
36 Integer.parseInt(parts[2].trim()),
37 Integer.parseInt(parts[3].trim()));
38 }
39
40 public String getId() {
41 return id;
42 }
43
44 public float getMinExtraOrbits() {
45 return minExtraOrbits;
46 }
47
48 public float getMaxExtraOrbits() {
49 return maxExtraOrbits;
50 }
51
52 public float getProbNebula() {
53 return probNebula;
54 }
55
56 public float getFreqNormal() {
57 return freqNormal;
58 }
59
60 public float getFreqBinary() {
61 return freqBinary;
62 }
63
64 public float getFreqTrinary() {
65 return freqTrinary;
66 }
67
68 public float getNebulaDensity() {
69 return nebulaDensity;
70 }
71}
72
73
74
75
76