Exemple #1
0
    private IEnumerator ReturnToPool(AudioSourceAnimator animator)
    {
        yield return(new WaitForSeconds(animator.Source.clip.length / animator.Source.pitch));

        animator.Source.Stop();
        Pool.Return(animator.Source);
        Animators.Remove(animator);
    }
        private IEnumerator PlayClip(AudioClip clip, AudioSource audioSource, Vector3 position, float volume, float pitch)
        {
            audioSource.volume             = volume;
            audioSource.transform.position = position;
            audioSource.pitch = pitch;
            audioSource.PlayOneShot(clip);
            yield return(new WaitForSeconds(clip.length));

            Pool.Return(audioSource);
        }
Exemple #3
0
    private IEnumerator AudioSourceReturnCR(AudioSource source)
    {
//		yield return new WaitForSeconds(source.clip.length + audioSourceExtraTime);


        while (source.isPlaying)
        {
            yield return(null);
        }

//		if (source.isPlaying){
//			Debug.LogError("AudioSourceReturnCR ERROR - audioSource is still playing! - source.time: " +source.time + ", source.clip: " + source.clip.length);
//			yield break;
//		}

        audioSourcePool.Return(source);
    }