public void PlaySoundLoop(SoundLoop sound, float volume = 1f, bool loop = true) { AudioClip clip = audioFiles.GetLoopClip(sound); foreach (AudioSource source in musicSources) { if (source.clip == clip) { return; } } AudioSource musicSource = gameObject.AddComponent <AudioSource>(); musicSource.playOnAwake = false; musicSource.volume = volume = musicGlobalVolume; musicSource.loop = loop; musicSource.clip = clip; musicSource.Play(); musicSources.Add(musicSource); }