void Start()
 {
     AudioSource[] audioSources = GetComponents <AudioSource>();
     audioSlots = new AudioSlot[audioSources.Length];
     for (int i = 0; i < audioSources.Length; i++)
     {
         audioSlots[i] = new AudioSlot(audioSources[i]);
     }
 }
    public bool PlayClip(AudioClip clip, int priority = 0)
    {
        AudioSlot slot = GetFreeSlot(priority);

        if (slot != null)
        {
            slot.priority    = priority;
            slot.source.clip = clip;
            slot.source.Play();
            return(true);
        }
        return(false);
    }