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); }
public void ReturnToPool(AudioSourcePooled source) { audioSources.Add(source); source.gameObject.SetActive(false); }