public void BakeStarsDesign() { #if UNITY_EDITOR string assetPath; if (bakedStars != null) { assetPath = UnityEditor.AssetDatabase.GetAssetPath(bakedStars); } else { assetPath = UnityEditor.AssetDatabase.GenerateUniqueAssetPath("Assets/Galaxy.asset"); } bakedStars = ScriptableObject.CreateInstance<StarsData>(); bakedStars.stars = CreateStarsContent(); UnityEditor.AssetDatabase.CreateAsset(bakedStars, assetPath); UnityEditor.AssetDatabase.Refresh(UnityEditor.ImportAssetOptions.Default); UnityEditor.AssetDatabase.SaveAssets(); bakedStars = UnityEditor.AssetDatabase.LoadAssetAtPath<StarsData>(assetPath); lastBakedStarsCount = bakedStars.stars.Length; #endif }
public void BakeStarsDesign() { #if UNITY_EDITOR string assetPath; if (bakedStars != null) { assetPath = UnityEditor.AssetDatabase.GetAssetPath(bakedStars); } else { assetPath = UnityEditor.AssetDatabase.GenerateUniqueAssetPath("Assets/Galaxy.asset"); } bakedStars = ScriptableObject.CreateInstance <StarsData>(); bakedStars.stars = CreateStarsContent(); UnityEditor.AssetDatabase.CreateAsset(bakedStars, assetPath); UnityEditor.AssetDatabase.Refresh(UnityEditor.ImportAssetOptions.Default); UnityEditor.AssetDatabase.SaveAssets(); bakedStars = UnityEditor.AssetDatabase.LoadAssetAtPath <StarsData>(assetPath); lastBakedStarsCount = bakedStars.stars.Length; #endif }
public StarsDataWrapper(StarsData data) { this._data = data; // TODO: Is it possible to check here if the data is null/bad and instead replace this instance with // one that will just throw exceptions in all methods? // That'll help in not having to error check everywhere }
private void Import(string inputFilePath, string outputFilePath, float apparentMagnitudeCutoff) { CSVReader.CSVResult csvResult = CSVReader.ReadCSVFile(inputFilePath); if (csvResult == null) { return; } int numStarsImported = 0; StarsData starsData = new StarsData(); starsData.stars = new List <StarData>(); var enumerator = csvResult.items.GetEnumerator(); while (enumerator.MoveNext()) { CSVReader.CSVItem item = enumerator.Current; float apparentMagnitude = float.Parse(item.values[APPARENT_MAGNITUDE_KEY]); if (apparentMagnitude > apparentMagnitudeCutoff) { continue; } ++numStarsImported; StarData starData = new StarData(); starData.common_name = item.values[COMMON_NAME_KEY]; starData.right_ascension = float.Parse(item.values[RIGHT_ASCENSION_KEY]); starData.declination = float.Parse(item.values[DECLINATION_KEY]); starData.distance_in_parsecs = float.Parse(item.values[DISTANCE_PARSEC_KEY]); starData.apparent_magnitude = float.Parse(item.values[APPARENT_MAGNITUDE_KEY]); starData.absolute_magnitude = float.Parse(item.values[ABSOLUTE_MAGNITUDE_KEY]); starData.constellation_name = item.values[CONSTELLATION_KEY]; starData.luminosity = float.Parse(item.values[LUMINOSITY_KEY]); starsData.stars.Add(starData); } FileStream fileStream = FileUtils.OpenFileStream(outputFilePath, FileMode.Create, FileAccess.Write); if (fileStream == null) { return; } Serializer.Serialize <StarsData>(fileStream, starsData); fileStream.Flush(); FileUtils.CloseFileStream(fileStream); TimiDebug.LogColor("Success! Imported " + numStarsImported.ToString() + " stars", LogColor.green); }