Ejemplo n.º 1
0
    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);
        });
    }
Ejemplo n.º 2
0
    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 ... ");
    }