public SoundLibrary.SerializedSample GetSerialized()
 {
     if (serialized != null)
     {
         return(serialized);
     }
     serialized = new SoundLibrary.SerializedSample
     {
         category  = category,
         crossFade = crossFade,
         vB        = vB,
         vR        = vR,
         pB        = pB,
         pR        = pR,
         name      = base.name,
         builtIn   = true,
         clips     = new List <SoundLibrary.SerializedClip>()
     };
     for (int i = 0; i < clips.Length; i++)
     {
         if (clips[i] != null)
         {
             serialized.AddClip(category + "/" + clips[i].name, clips[i].name, null, clips[i]);
         }
         else
         {
             Debug.LogError("Empty clip in sample " + serialized.name);
         }
     }
     serialized.loaded = (SoundSourcePool.instance != null);
     return(serialized);
 }
 public void Load(SoundLibrary.SerializedSample serialized)
 {
     base.name = serialized.name;
     category  = serialized.category;
     crossFade = serialized.crossFade;
     vB        = serialized.vB;
     vR        = serialized.vR;
     pB        = serialized.pB;
     pR        = serialized.pR;
 }
Beispiel #3
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);
     }
 }
Beispiel #4
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;
    }