public void Play(AudioClip clip, SoundGroupSettings settings, float volumeModifier = 1.0f) { if (soundGroups.TryGetSource(settings, out AudioSource source)) { source.PlayOneShot(clip, volumeModifier); } else { Assert.Fail($"Sound settings {settings.name} are not initialized and clip: {clip.name} won't play!"); } }
public void PlayAtPoint(AudioClip clip, SoundGroupSettings settings, Vector3 position, float volumeModifier = 1.0f) { if (soundGroups.TryGetSource(settings, out AudioSource source)) { AudioSource pointSource = Instantiate(source, Container); pointSource.transform.position = position; pointSource.volume = volumeModifier; pointSource.clip = clip; pointSource.Play(); Destroy(pointSource.gameObject, clip.length * (Time.timeScale >= 0.01f ? Time.timeScale : 0.01f)); } else { Assert.Fail($"Sound settings {settings.name} are not initialized and clip: {clip.name} won't play!"); } }