private void OnGUI() { eccentricity = EditorGUILayout.FloatField("Eccentricity", eccentricity); semiMajorAxis = EditorGUILayout.DoubleField("Semi_Major Axis", semiMajorAxis); GUILayout.Label(periapsis.ToString()); objectName = EditorGUILayout.TextField("Object Name", objectName); if (GUILayout.Button("Set")) { periapsis = (1 - eccentricity) * semiMajorAxis * 1000; MoonData data = Resources.Load <MoonData>("Objects/" + objectName); if (data != null) { data.avrgDistanceFromPlanet = periapsis; data.e = eccentricity; EditorUtility.SetDirty(data); Debug.Log("Set the periapsis of " + objectName + " to " + periapsis.ToString()); } else { Debug.LogError("Object with name " + objectName + " could not be found"); } objectName = ""; } }
public ClimateTiming(Byte SunriseBegin, Byte SunriseEnd, Byte SunsetBegin, Byte SunsetEnd, Byte Volatility, MoonData MoonData) { this.SunriseBegin = SunriseBegin; this.SunriseEnd = SunriseEnd; this.SunsetBegin = SunsetBegin; this.SunsetEnd = SunsetEnd; this.Volatility = Volatility; this.MoonData = MoonData; }
public ClimateTiming(string Tag = null) : base(Tag) { SunriseBegin = new Byte(); SunriseEnd = new Byte(); SunsetBegin = new Byte(); SunsetEnd = new Byte(); Volatility = new Byte(); MoonData = new MoonData(); }
public ClimateTiming(ClimateTiming copyObject) { SunriseBegin = copyObject.SunriseBegin; SunriseEnd = copyObject.SunriseEnd; SunsetBegin = copyObject.SunsetBegin; SunsetEnd = copyObject.SunsetEnd; Volatility = copyObject.Volatility; if (copyObject.MoonData != null) { MoonData = (MoonData)copyObject.MoonData.Clone(); } }
public SolarSystem(SolarSystemData Data) { Suns = new Sun[Data.Suns.Length]; OrbitingPlanets = new Planet[Data.Planets.Length]; systemObj = new GameObject(); systemObj.name = Data.Name; systemObj.transform.position = Vector3.zero; systemObj.transform.SetParent(GameObject.FindGameObjectWithTag("Canvas").transform, true); // Create Suns, Planets and their Moons for (int i = 0; i < Suns.Length; i++) { SunData sd = Data.Suns[i]; Sun sun = new Sun(sd.Name, sd.Type, sd.Color, sd.Radius, sd.Mass, sd.Age, systemObj); sun.SetPosition(sd.Position); Suns[i] = sun; } for (int i = 0; i < OrbitingPlanets.Length; i++) { PlanetData pd = Data.Planets[i]; Orbit orbit = Orbit.Create(pd.Apoapsis, pd.Periapsis, Suns[pd.OrbitingIndex]); systemLogScaleBase = systemLogScaleBase > Mathf.Log(orbit.SemiMajor) ? Mathf.Log(orbit.SemiMajor) : systemLogScaleBase; Debug.Log(pd.Name + " Orbit info, T: " + orbit.Period + " Apoapsis: " + orbit.ApoApsis + " Periapsis: " + orbit.PeriApsis); Planet planet = new Planet(pd.Name, pd.Type, pd.Color, pd.Radius, pd.Mass, orbit, Suns[pd.OrbitingIndex].GameObject); if (pd.Moons != null) { int nr = pd.Moons.Length; planet.Moons = new Moon[nr]; for (int j = 0; j < nr; j++) { MoonData md = pd.Moons[j]; Orbit moonOrbit = Orbit.Create(md.Apoapsis, md.Periapsis, planet); planet.Moons[j] = new Moon(md.Name, md.Type, md.Color, md.Radius, md.Mass, moonOrbit, md.Approachable, planet.GameObject); } } OrbitingPlanets[i] = planet; } Scaling.LogBase = Mathf.Floor(systemLogScaleBase); TimeAcceleration = Scaling.SpeedUpFactor; SetOrbitingPositions(0); }
public void Generate() { if (database == null) { database = (ObjectDatabase)Resources.Load(databasePath); } Debug.Log(database.moons.Length); string json = File.ReadAllText(path); int index = 0; if (objectsType == ObjectType.Moon) { MoonDataJsonArray data = JsonUtility.FromJson <MoonDataJsonArray>(json); foreach (MoonDataJson moonData in data.moons) { if (numberToMake != 0 && index == numberToMake) { return; } if (!database.ArrayContainsName <MoonData>(database.moons, moonData.name)) { MoonData moonAsset = ScriptableObject.CreateInstance <MoonData>(); moonAsset.SetId(moonData.id); moonAsset.objectName = moonData.name; moonAsset.planetId = moonData.planetId; moonAsset.diameter = moonData.radius * 2; moonAsset.mass = moonData.gm / G; moonAsset.density = moonData.density; EditorUtility.SetDirty(moonAsset); string assetName = moonData.name; assetName = assetName.Replace("/", "_"); string assetPath = objectPath + "/" + assetName + ".asset"; AssetDatabase.CreateAsset(moonAsset, assetPath); index++; } } } }