001package com.fs.starfarer.api.impl.campaign.procgen; 002 003import java.awt.Color; 004 005import org.json.JSONException; 006import org.json.JSONObject; 007 008public class AgeGenDataSpec { 009 010 011 //id,minExtraOrbits,maxExtraOrbits,probNebula,freqNormal,freqBinary,freqTrinary 012 013 private String id; 014 private float minExtraOrbits, maxExtraOrbits, probNebula, freqNormal, freqBinary, freqTrinary, nebulaDensity; 015 016 public AgeGenDataSpec(JSONObject row) throws JSONException { 017 id = row.getString("id"); 018 minExtraOrbits = (float) row.optDouble("minExtraOrbits", 0); 019 maxExtraOrbits = (float) row.optDouble("maxExtraOrbits", 0); 020 021 probNebula = (float) row.optDouble("probNebula", 0); 022 freqNormal = (float) row.optDouble("freqNormal", 0); 023 freqBinary = (float) row.optDouble("freqBinary", 0); 024 freqTrinary = (float) row.optDouble("freqTrinary", 0); 025 nebulaDensity = (float) row.optDouble("nebulaDensity", 0.6f); 026 } 027 028 public static Color parseColor(String str, String sep) { 029 if (str == null) return Color.white; 030 031 String [] parts = str.split(sep); 032 if (parts.length != 4) return null; 033 034 return new Color(Integer.parseInt(parts[0].trim()), 035 Integer.parseInt(parts[1].trim()), 036 Integer.parseInt(parts[2].trim()), 037 Integer.parseInt(parts[3].trim())); 038 } 039 040 public String getId() { 041 return id; 042 } 043 044 public float getMinExtraOrbits() { 045 return minExtraOrbits; 046 } 047 048 public float getMaxExtraOrbits() { 049 return maxExtraOrbits; 050 } 051 052 public float getProbNebula() { 053 return probNebula; 054 } 055 056 public float getFreqNormal() { 057 return freqNormal; 058 } 059 060 public float getFreqBinary() { 061 return freqBinary; 062 } 063 064 public float getFreqTrinary() { 065 return freqTrinary; 066 } 067 068 public float getNebulaDensity() { 069 return nebulaDensity; 070 } 071} 072 073 074 075 076