IEnumerator waitForInteractionSound(interactionSounds sound) { yield return(new WaitWhile(() => interactionSounds.isPlaying)); interactionSounds.clip = interactionSoundsList[(int)sound]; interactionSounds.Play(); }
//Interaction Sounds public AudioSource interactionSound(interactionSounds sound) { interactionSounds.clip = interactionSoundsList[(int)sound]; interactionSounds.Play(); // Check if this audiosource is available if (!interactionSounds.isPlaying) { interactionSounds.clip = interactionSoundsList[(int)sound]; interactionSounds.Play(); } else if (!SFX2.isPlaying) { SFX2.clip = interactionSoundsList[(int)sound]; SFX2.Play(); } else if (!SFX3.isPlaying) { SFX3.clip = interactionSoundsList[(int)sound]; SFX3.Play(); } else { //StartCoroutine(waitForInteractionSound(sound)); Debug.Log("too many sounds at once"); } return(interactionSounds); }
// Third AudioSource for interaction sounds public AudioSource interactionSound3(interactionSounds sound) { SFX3.clip = interactionSoundsList[(int)sound]; SFX3.Play(); // Check if this audiosource is available if (!SFX3.isPlaying) { SFX3.clip = interactionSoundsList[(int)sound]; SFX3.Play(); } return(SFX3); }