Пример #1
0
    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
    }
Пример #2
0
    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
    }
Пример #3
0
 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
 }
Пример #4
0
    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);
    }