public void PlayAtPosition(int audioID, DonePlaying returnDelegate, Vector3 position) { StartCoroutine(SoundDonePlaying(returnDelegate, audioID, clips[audioID].length)); soundsPlaying[audioID] = true; AudioSource.PlayClipAtPoint(clips[audioID], position); }
public void PlayAudio(int audioID, DonePlaying returnDelegate) { StartCoroutine(SoundDonePlaying(returnDelegate, audioID, clips[audioID].length)); soundsPlaying[audioID] = true; source.PlayOneShot(clips[audioID], 1); }
public IEnumerator SoundDonePlaying(DonePlaying returnDelegate, int audioID, float waitTime) { yield return new WaitForSeconds(waitTime); soundsPlaying[audioID] = false; if (returnDelegate != null) returnDelegate(); yield return null; }
public void PlayAudioIfNotPlaying(int audioID, DonePlaying returnDelegate) { if (!soundsPlaying[audioID]) { soundsPlaying[audioID] = true; StartCoroutine(SoundDonePlaying(returnDelegate, audioID, clips[audioID].length)); source.PlayOneShot(clips[audioID], 1); } }
public IEnumerator SoundDonePlaying(DonePlaying returnDelegate, int audioID, float waitTime) { yield return(new WaitForSeconds(waitTime)); soundsPlaying[audioID] = false; if (returnDelegate != null) { returnDelegate(); } yield return(null); }
public void StartAfterDelay(int audioID, float delay, DonePlaying returnDelegate) { source.clip = clips[audioID]; source.PlayDelayed(delay); }