Exemple #1
0
        private static SourceScore ToSourceScore(ScoreObject scoreObject, ReadSourceOptions options)
        {
            var score = new SourceScore();

            var scoreIndex = options.ScoreIndex;
            var difficulty = (Difficulty)scoreIndex;
            var trackType  = ScoreHelper.MapDifficultyToTrackType(difficulty);
            var tracks     = ScoreHelper.GetTrackIndicesFromTrackType(trackType);

            score.Notes = scoreObject.NoteEvents
                          .Where(nd => Array.IndexOf(tracks, nd.Track) >= 0)
                          .Select(n => ToNote(n, tracks))
                          .Where(n => n != null).ToArray();
            score.Conductors  = scoreObject.ConductorEvents.Select(ToConductor).ToArray();
            score.MusicOffset = scoreObject.BgmOffset;

            score.ScoreIndex = scoreIndex;
            score.TrackCount = tracks.Length;

            return(score);
        }