Exemplo n.º 1
0
    public void NovaMusica(PartituraInfo dados, bool autoPlay = false)
    {
        if (musicaAtual != null)
        {
            StopMusica();
            DestroyMusica(musicaAtual);
        }

        Debug.Log("Dados> Compasso: " + dados.compassos.Count);
        Debug.Log("Dados> Base: " + dados.nomeAudioBase);
        Debug.Log("Dados> Instrumento: " + dados.nomeAudioInstrumento);

        MusicaInfo info = new MusicaInfo();

        info.mPartitura = dados;

        info.mBanda.musicaBase       = Vivaldos.NameToAudioClip(dados.nomeAudioBase);
        info.mBanda.instrumentoAtual = Vivaldos.NameToAudioClip(dados.nomeAudioInstrumento);

        Musica m = Instantiate(_prefabMusica) as Musica;

        m.mInfo = info;

        gRitmo.s.SetBPM(info.mPartitura.BPM);

        List <string> outrosInstrumentos = gLevels.s.GetInstrumentosAnteriores( );

        foreach (string s in outrosInstrumentos)
        {
            AudioClip clip = Vivaldos.NameToAudioClip(s);
            m.AdicionarInstrumentoExtra(clip);
        }



        musicaAtual = m;
        if (autoPlay)
        {
            PlayMusica();
        }
    }