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!");
            }
        }