public bool Play(AudioPostFinished handler) { if (audioClips.Count == 0) { return(false); } return(Play(audioClips [0].name, handler)); }
IEnumerator AudioFinishedListener(AudioPostFinished handler) { while (GetComponent <AudioSource> ().isPlaying) { yield return(new WaitForSeconds(0.5f)); } GetComponent <AudioSource> ().clip = null; handler(this, 1); }
public bool Play(string audioClipKey, AudioPostFinished handler) { AudioClip audioClip = audioClips.Where((ac) => { return(ac.name == audioClipKey); }).First(); if (audioClip == null) { return(false); } GetComponent <AudioSource> ().clip = audioClip; GetComponent <AudioSource> ().Play(); StartCoroutine(AudioFinishedListener(handler)); return(true); }