void Start()
 {
     //If it's empty, we should just use the audioSource clip instead.
     if (sourceClips.Length == 0 && audioInterface.GetClip() != null)
     {
         sourceClips    = new AudioClip[1];
         sourceClips[0] = audioInterface.GetClip();
     }
     defaultVolume = audioInterface.GetVolume();
     if (collisionVolume == 0)
     {
         Debug.LogWarning("Collision Volume Multiplier is 0. Volume of collision will always be zero.", this);
     }
 }
 public void PlaySong(int indexToPlay)
 {
     audioInterface.SetClip(playlist[indexToPlay]);
     StartCoroutine(WaitForSongEnd(audioInterface.GetClip().length));
     audioInterface.Play();
     playingIndex = indexToPlay;
 }
 public void Play()
 {
     if (played == false)
     {
         audioInterface.Play();
         if (!dontCountAsPlayedUntilClipFinishes)
         {
             played = true;
         }
         else
         {
             StartCoroutine(WaitForEndToSetPlayed(audioInterface.GetClip()));
         }
     }
 }