Esempio n. 1
0
    private NoteDataHolder SongLineToNoteData(string fileLine, float secsPerBeat)
    {
        float numberOfBeatsToWait;

        string[] parts = fileLine.Split('.');
        if (parts[0].Contains("/"))
        {
            string[] timeToWaitParts = parts[0].Split('/');
            float    numerator       = float.Parse(timeToWaitParts[0]);
            float    denominator     = float.Parse(timeToWaitParts[1]);
            numberOfBeatsToWait = numerator / denominator;
        }
        else
        {
            numberOfBeatsToWait = float.Parse(parts[0]);
        }
        NoteDirection dir;
        NoteButton    but;

        if (parts[1] != "")
        {
            dir = Note.CharToDirection(parts[1][0]);
            but = Note.CharToButton(parts[1][1]);
        }
        else
        {
            Debug.Log("Encountered a wait for " + numberOfBeatsToWait);
            dir = NoteDirection.NONE;
            but = NoteButton.WAIT;
        }

        NoteDataHolder note = new NoteDataHolder();

        note.button     = but;
        note.direction  = dir;
        note.noteLength = secsPerBeat * numberOfBeatsToWait;
        return(note);
    }