Пример #1
0
    /// <summary>
    /// 调整音乐声音大小,volum最大值100,最小值0.
    /// </summary>
    /// <param name="audioType"></param>
    /// <param name="volum"></param>
    public void ChangeMusicVolum(EAndioType audioType, int volum)
    {
        E_SettingAndioType settingType = GetSettingType(audioType);

        if (settingType == E_SettingAndioType.Bg && !_isBgMusicOpen)
        {
            return;
        }
        if (settingType != E_SettingAndioType.Effect && !_isEffectMusicOpen)
        {
            return;
        }

        switch (audioType)
        {
        case EAndioType.Bg:
            ChangeAudioSourceVolum(_bgAudioSource, volum);
            break;

        case EAndioType.Btn:
            ChangeAudioSourceVolum(_btnAudioSource, volum);
            break;

        case EAndioType.Effect:
            ChangeAudioSourceVolum(_effectAudioSource, volum);
            break;

        case EAndioType.Extra:
            ChangeAudioSourceVolum(_extraAudioSource, volum);
            break;
        }
    }
Пример #2
0
    /// <summary>
    /// 解除暂停音乐
    /// </summary>
    /// <param name="audioType"></param>
    public void UnPauseMusic(EAndioType audioType)
    {
        E_SettingAndioType settingType = GetSettingType(audioType);

        if (settingType == E_SettingAndioType.Bg && !_isBgMusicOpen)
        {
            return;
        }
        if (settingType != E_SettingAndioType.Effect && !_isEffectMusicOpen)
        {
            return;
        }

        switch (audioType)
        {
        case EAndioType.Bg:
            UnPauseBgMusic();
            break;

        case EAndioType.Btn:
            UnPauseBtnMusic();
            break;

        case EAndioType.Effect:
            UnPauseEffectMusic();
            break;

        case EAndioType.Extra:
            UnPauseExtraMusic();
            break;
        }
    }
Пример #3
0
    /// <summary>
    /// 播放音乐
    /// </summary>
    /// <param name="audioType"></param>
    /// <param name="audioName"></param>
    public void PlayAudio(EAndioType audioType, string audioName)
    {
        E_SettingAndioType settingType = GetSettingType(audioType);

        if (settingType == E_SettingAndioType.Bg && !_isBgMusicOpen)
        {
            return;
        }
        if (settingType == E_SettingAndioType.Effect && !_isEffectMusicOpen)
        {
            return;
        }

        switch (audioType)
        {
        case EAndioType.Bg:
            PlayBgAudio(audioName);
            break;

        case EAndioType.Btn:
            PlayBtnAudio(audioName);
            break;

        case EAndioType.Effect:
            PlayEffectAudio(audioName);
            break;

        case EAndioType.Extra:
            PlayExtraAudio(audioName);
            break;
        }
    }
Пример #4
0
 /// <summary>
 /// 获取音乐开关状态
 /// </summary>
 /// <param name="settingType"></param>
 /// <returns></returns>
 public bool GetMusicOpen(E_SettingAndioType settingType)
 {
     if (settingType == E_SettingAndioType.Bg)
     {
         return(_isBgMusicOpen);
     }
     return(_isEffectMusicOpen);
 }
Пример #5
0
 /// <summary>
 /// 停止播放音乐
 /// </summary>
 /// <param name="settingType"></param>
 public void StopMusic(E_SettingAndioType settingType)
 {
     if (settingType == E_SettingAndioType.Bg)
     {
         _bgAudioSource.Stop();
         if (_bgCoroutine != null)
         {
             StopCoroutine(_bgCoroutine);
         }
     }
     else
     {
         _btnAudioSource.Stop();
         _effectAudioSource.Stop();
         _extraAudioSource.Stop();
     }
 }
Пример #6
0
 /// <summary>
 /// 设置音乐的开关状态
 /// </summary>
 /// <param name="settingType"></param>
 /// <param name="isTrue"></param>
 public void SetMusicOpen(E_SettingAndioType settingType, bool isTrue)
 {
     if (settingType == E_SettingAndioType.Bg)
     {
         _isBgMusicOpen = isTrue;
         if (_isBgMusicOpen)
         {
             PlayAudio(EAndioType.Bg, "bg_hall");
         }
         else
         {
             StopMusic(E_SettingAndioType.Bg);
         }
     }
     else
     {
         _isEffectMusicOpen = isTrue;
         if (_isEffectMusicOpen)
         {
             StopMusic(E_SettingAndioType.Effect);
         }
     }
 }
Пример #7
0
    /// <summary>
    /// 切换音乐开关状态
    /// </summary>
    /// <param name="settingType"></param>
    public void SwitchMusicState(E_SettingAndioType settingType)
    {
        bool musicOpen = GetMusicOpen(settingType);

        SetMusicOpen(settingType, !musicOpen);
    }