void StopMusicInternal() { _currentMusicName = ""; if (_music != null) { StartFadingOutMusic(); _music = null; } }
private void PlayMusicInternal(string musicName) { if (string.IsNullOrEmpty(musicName)) { Debug.Log("Music empty or null"); return; } if (_currentMusicName == musicName) { //Debug.Log("Music already playing: " + musicName); return; } if (!string.IsNullOrEmpty(_currentMusicName)) { AssetBundleManager.UnloadAssetBundle("music/" + _currentMusicName + ".u3d", true); } StopMusicInternal(); _currentMusicName = musicName; AudioClip musicClip = LoadClipFromBundle("music/" + musicName + ".u3d", musicName);// LoadClip("Music/" + musicName); GameObject music = new GameObject("Music: " + musicName); AudioSource musicSource = music.AddMissingComponent <AudioSource>(); music.transform.SetParent(transform); musicSource.outputAudioMixerGroup = _settings.MusicAudioMixerGroup; musicSource.loop = true; musicSource.priority = 0; musicSource.playOnAwake = false; musicSource.mute = _settings.GetMusicMuted(); musicSource.ignoreListenerPause = true; musicSource.clip = musicClip; musicSource.Play(); musicSource.volume = 0; _music = new SMMusic(); _music.Source = musicSource; _music.FadingIn = true; _music.TargetVolume = _settings.GetMusicVolumeCorrected(); _music.Timer = 0; _music.FadingTime = _settings.MusicFadeTime; }