Example #1
0
    public AudioSourcePooled RequestAudioSource(Vector3 position)
    {
        AudioSourcePooled source = null;

        if (audioSources.Count > 0)
        {
            source = audioSources[0];
            audioSources.RemoveAt(0);

            source.gameObject.SetActive(true);
            source.transform.position = position;
        }
        else
        {
            GameObject pooledObject = Instantiate(audioSourcePrefab, transform);
            source = pooledObject.GetComponent <AudioSourcePooled>();
            pooledObject.SetActive(true);
            pooledObject.transform.position = position;
        }

        return(source);
    }
Example #2
0
 public void ReturnToPool(AudioSourcePooled source)
 {
     audioSources.Add(source);
     source.gameObject.SetActive(false);
 }