Существуют различные варианты того, как этого добиться. Вы можете использовать while l oop, вы можете вызвать сопрограмму из сопрограммы.
Это пример while.
private bool _isClipPlaying;
private IEnumerator ClickSounds(float clipsGapDuration)
{
while(_isClipPlaying){
Play(boostWheelSpinningSoundClick1);
yield return new WaitForSeconds(clipsGapDuration);
Play(boostWheelSpinningSoundClick2);
yield return new WaitForSeconds(clipsGapDuration);
Play(boostWheelSpinningSoundClick3);
yield return new WaitForSeconds(clipsGapDuration);
Play(boostWheelSpinningSoundClick4);
yield return new WaitForSeconds(clipsGapDuration);
Play(boostWheelSpinningSoundClick5);
yield return new WaitForSeconds(clipsGapDuration);
}
}
public void PlayClickSounds()
{
_isClipPlaying = true;
StartCoroutine( ClickSounds(0.5f) );
}
public void StopClickSounds()
{
_isClipPlaying = false;
}
Другой вариант - вызвать сопрограмму после этого.
private IEnumerator ClickSounds(float clipsGapDuration)
{
Play(boostWheelSpinningSoundClick1);
yield return new WaitForSeconds(clipsGapDuration);
Play(boostWheelSpinningSoundClick2);
yield return new WaitForSeconds(clipsGapDuration);
Play(boostWheelSpinningSoundClick3);
yield return new WaitForSeconds(clipsGapDuration);
Play(boostWheelSpinningSoundClick4);
yield return new WaitForSeconds(clipsGapDuration);
Play(boostWheelSpinningSoundClick5);
yield return new WaitForSeconds(clipsGapDuration);
StartCoroutine(ClickSounds(clipsGapDuration));
}
Я бы предложил использовать список для звуков щелчков, так как он будет более читабельным.