Medley CreateNewMedley(bool play = true) { GameObject clone; Medley medley = new Medley(); clone = PoolManager.PoolInstantiate(audioSourcePrefab, Vector3.zero, Quaternion.identity); clone.transform.SetParent(this.transform); clone.TryGetComponent <AudioSource>(out medley.chordsSource); medley.chordsSource.clip = chordsClips.GetRandomWithSwapback(); clone = PoolManager.PoolInstantiate(audioSourcePrefab, Vector3.zero, Quaternion.identity); clone.transform.SetParent(this.transform); clone.TryGetComponent <AudioSource>(out medley.melodiesSource); medley.melodiesSource.clip = melodiesClips.GetRandomWithSwapback(); clone = PoolManager.PoolInstantiate(audioSourcePrefab, Vector3.zero, Quaternion.identity); clone.transform.SetParent(this.transform); clone.TryGetComponent <AudioSource>(out medley.arpBassSource); medley.arpBassSource.clip = arpbassClips.GetRandomWithSwapback(); if (play) { medley.Play(); } return(medley); }
void PoolMedley(Medley medley) { PoolManager.PoolDestroy(medley.chordsSource.gameObject); PoolManager.PoolDestroy(medley.melodiesSource.gameObject); PoolManager.PoolDestroy(medley.arpBassSource.gameObject); }