private void ApplyConfigToSource() { if (config != null) { config.ApplyToSource(GetComponent <AudioSource>()); } }
/// <summary> /// Instructs the AudioSource to play a single clip, with optional looping, in a position in 3D space. /// </summary> public void PlayAudioClip(AudioClip clip, AudioConfigurationSO config, bool loop, Vector3 position = default) { transform.position = position; config.ApplyToSource(source); source.clip = clip; source.loop = loop; source.Play(); if (!loop) { StartCoroutine(WaitForAudioFinish(clip.length)); } }