Exemplo n.º 1
0
            AudioSourceItem GetAudioSourceItem()
            {
                AudioSourceItem item = null;

                for (var i = 0; i < itemList.Count; i++)
                {
                    if (itemList[i].cd < Time.time)
                    {
                        item = itemList[i];
                        break;
                    }
                }
                if (item == null && itemList.Count < maxNum)
                {
                    item = new AudioSourceItem(go, mixerGroup);
                    itemList.Add(item);
                }
                return(item);
            }
Exemplo n.º 2
0
            public void PlaySound(uint id, AudioClip clip)
            {
                if (Time.time < cd)
                {
                    AudioManager.Instance.DestroySFX(id);
                    return;
                }
                AudioSourceItem item = GetAudioSourceItem();

                if (item == null)
                {
                    AudioManager.Instance.DestroySFX(id);
                    return;
                }

                cd = Time.time + Interval;
                item.Play(clip, id);
                AudioManager.Instance.DestroySFX(id, clip.length);
            }