Пример #1
0
 public override void OnClipDeactivated(SoundLibrary.SerializedClip clip)
 {
     if (!(clip.clip == null))
     {
         base.OnClipDeactivated(clip);
         if (clip.clip.name.Equals(currentSong))
         {
             currentSong = null;
         }
         clip.clip = null;
     }
 }
Пример #2
0
 public void Play(SoundLibrary.SerializedSample sample)
 {
     SoundLibrary.SerializedClip clip = sample.GetClip(null, 'A', SoundLibrary.SampleContainerChildType.None);
     if (base.isPlaying)
     {
         if (sample != lastSample)
         {
             lastSample  = sample;
             soundSample = sample;
             CrossfadeSound(clip, loop: false, 0f, crossfadeDuration, fadeoutDuration, fadeinDuration);
         }
     }
     else
     {
         lastSample  = sample;
         soundSample = sample;
         PlaySound(clip, loop: false);
     }
 }
Пример #3
0
    public IEnumerator Play(string resource, bool duckDrones)
    {
        currentSong = resource;
        float vol = 1f;

        for (int i = 0; i < songList.Length; i++)
        {
            if (songList[i].Equals(resource))
            {
                vol = levels[i];
            }
        }
        SoundLibrary.SerializedSample soundSample = new SoundLibrary.SerializedSample
        {
            builtIn  = true,
            category = "Music",
            name     = resource,
            loaded   = true,
            vB       = AudioUtils.DBToValue(vol)
        };
        AudioClip audioClip = HFFResources.instance.GetMusicTrack(resource);

        yield return(null);

        SoundLibrary.SerializedClip clip = soundSample.AddClip(resource, resource, null, audioClip);
        lastSample       = soundSample;
        base.soundSample = soundSample;
        if (base.isPlaying)
        {
            CrossfadeSound(clip, loop: false, 0f, crossfadeDuration, fadeoutDuration, fadeinDuration);
        }
        else
        {
            PlaySound(clip, loop: false);
        }
        if (duckDrones)
        {
            menuDrones.Duck(this);
        }
        loadCoroutine = null;
    }