示例#1
0
 // Token: 0x06000B1D RID: 2845 RVA: 0x00050344 File Offset: 0x0004E544
 private void StartMusic(string name)
 {
     if (this.GetCurrentMusic() == name)
     {
         return;
     }
     MusicMan.NamedMusic music = this.FindMusic(name);
     this.StartMusic(music);
 }
示例#2
0
            static void Prefix(ref MusicMan.NamedMusic ___m_currentMusic, ref MusicMan.NamedMusic ___m_queuedMusic, AudioSource ___m_musicSource)
            {
                if (!modEnabled.Value)
                {
                    return;
                }

                if (___m_queuedMusic != null)
                {
                    ___m_queuedMusic.m_volume = musicVol.Value;
                }

                if (___m_musicSource?.clip != null && lastMusicName != ___m_musicSource.clip.name)
                {
                    if (dumpInfo.Value)
                    {
                        Dbgl($"Switching music from {lastMusicName} to {___m_musicSource.clip.name}");
                    }
                    lastMusicName = ___m_musicSource.clip.name;
                }
                if (___m_queuedMusic == null && !___m_musicSource.isPlaying && PlayerPrefs.GetInt("ContinousMusic", 1) == 1)
                {
                    if (lastMusic != null)
                    {
                        lastMusic.m_lastPlayedTime = 0;
                        ___m_queuedMusic           = lastMusic;
                        lastMusic = null;
                    }
                    else if (___m_currentMusic != null)
                    {
                        lastMusic = ___m_currentMusic;
                    }
                    else
                    {
                        lastMusic = null;
                    }
                }
                else
                {
                    lastMusic = null;
                }
                if (___m_musicSource.isPlaying)
                {
                    if (___m_queuedMusic != null && ___m_musicSource.loop)
                    {
                        Dbgl($"queued {___m_queuedMusic?.m_name}, setting {___m_musicSource.name} loop to false");
                        ___m_musicSource.loop = false;
                    }
                }
            }
示例#3
0
 // Token: 0x06000B1E RID: 2846 RVA: 0x0005036F File Offset: 0x0004E56F
 private void StartMusic(MusicMan.NamedMusic music)
 {
     if (music != null && this.GetCurrentMusic() == music.m_name)
     {
         return;
     }
     if (music != null)
     {
         this.m_queuedMusic = music;
         this.m_stopMusic   = false;
         return;
     }
     this.StopMusic();
 }
示例#4
0
 static void Prefix(ref MusicMan.NamedMusic ___m_currentMusic, ref MusicMan.NamedMusic ___m_queuedMusic, AudioSource ___m_musicSource)
 {
     if (___m_musicSource?.clip != null && lastMusicName != ___m_musicSource.clip.name)
     {
         Dbgl($"Switching music from {lastMusicName} to {___m_musicSource.clip.name}");
         lastMusicName = ___m_musicSource.clip.name;
     }
     if (___m_currentMusic != null && !___m_musicSource.isPlaying && PlayerPrefs.GetInt("ContinousMusic", 1) == 1)
     {
         //Dbgl($"done {___m_musicSource.clip?.name}, setting queued to current {___m_currentMusic.m_clips.Length}");
         ___m_queuedMusic = ___m_currentMusic;
     }
     if (___m_queuedMusic != null)
     {
         //Dbgl($"queued, setting loop to false {___m_queuedMusic.m_clips.Length}");
         ___m_queuedMusic.m_loop = false;
     }
 }
示例#5
0
            static void Prefix(ref MusicMan.NamedMusic ___m_currentMusic, ref MusicMan.NamedMusic ___m_queuedMusic, AudioSource ___m_musicSource, bool ___m_stopMusic, ref float __state)
            {
                if (___m_queuedMusic != null)
                {
                    ___m_queuedMusic.m_volume = musicVol.Value;
                }

                if (___m_musicSource?.clip != null && lastMusicName != ___m_musicSource.clip.name)
                {
                    if (dumpInfo.Value)
                    {
                        Dbgl($"Switching music from {lastMusicName} to {___m_musicSource.clip.name}");
                    }
                    lastMusicName = ___m_musicSource.clip.name;
                }
                if (___m_queuedMusic == null && !___m_musicSource.isPlaying && PlayerPrefs.GetInt("ContinousMusic", 1) == 1)
                {
                    if (lastMusic != null)
                    {
                        ___m_queuedMusic = lastMusic;
                        lastMusic        = null;
                    }
                    else if (___m_currentMusic != null)
                    {
                        lastMusic = ___m_currentMusic;
                    }
                    else
                    {
                        lastMusic = null;
                    }
                }
                else
                {
                    lastMusic = null;
                }
                if (___m_musicSource.isPlaying)
                {
                    //Dbgl($"queued {___m_queuedMusic.m_name}, setting loop to false {___m_queuedMusic.m_clips.Length}");
                    ___m_musicSource.loop = false;
                    __state = ___m_musicSource.volume;
                }
            }
示例#6
0
 // Token: 0x06000B11 RID: 2833 RVA: 0x0004FCC4 File Offset: 0x0004DEC4
 private bool HandleEnvironmentMusic(float dt, string currentMusic)
 {
     if (!EnvMan.instance)
     {
         return(false);
     }
     MusicMan.NamedMusic environmentMusic = this.GetEnvironmentMusic();
     if (environmentMusic == null || (!environmentMusic.m_loop && environmentMusic.m_name != this.GetCurrentMusic()))
     {
         this.StopMusic();
         return(true);
     }
     if (!environmentMusic.m_loop)
     {
         if (Time.time - this.m_lastAmbientMusicTime < this.m_randomAmbientInterval)
         {
             return(false);
         }
         this.m_randomAmbientInterval = UnityEngine.Random.Range(this.m_randomMusicIntervalMin, this.m_randomMusicIntervalMax);
         this.m_lastAmbientMusicTime  = Time.time;
     }
     this.StartMusic(environmentMusic);
     return(true);
 }