public void PlayMusic(AudioEnums.MusicId musicId, bool IsLoop = false, bool IsReset = true) { List <AudioClip> audioFound; _MusicAudioSource.DOComplete(true); if (!_MusicDictionary.TryGetValue((int)musicId, out audioFound)) { return; } if (audioFound.Count <= 0) { return; } var index = Random.Range(0, audioFound.Count); if (!object.ReferenceEquals(_MusicAudioSource.clip, null) && !IsReset && audioFound[index].name == _MusicAudioSource.clip.name) { return; } _MusicAudioSource.DOFade(0, VariablesEnums.AnimationDurationFade).OnComplete(() => { _MusicAudioSource.clip = audioFound[index]; _MusicAudioSource.loop = IsLoop; _MusicAudioSource.Play(); _MusicAudioSource.DOFade(VariablesEnums.VolumeMusicPlayer, VariablesEnums.AnimationDurationFade); }); }
public static void PlayAudioMusic(this MonoBehaviour mono, AudioEnums.MusicId musicId, bool IsLoop = false, bool IsReset = true) { // =============================== PLAY THE MUSIC ================================ // if (ReferenceEquals(SoundManager.InstanceAwake(), null)) { LogGame.Log("[Sound Manager] Sound Manager is null ... "); return; } SoundManager.Instance.PlayMusic(musicId, IsLoop, IsReset); LogGame.Log("[Sound Manager] Play The Music of Game ... "); }