Shown below 音效控制器
.
/**************
* 技能宠物音效控制器
*
* ***/
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace MR_LBS.Client.Unity3D
{
//技能音效
public enum SoundSkill : int
{
Unknow=0,
overTime,
battle1,
battle2,
win,
lose,
waiting1,
coin,
button1,
errorTips,
newCardTip,
lightenUp,
waiting2,
waiting3
}
public class SoundManager : MonoBehaviour
{
public static SoundManager Instance;
public AudioSource
overTimeSound,//加时赛音效
battle1,//加时赛音效
battle2,
win,
lose,
coin,
waiting_1,
button1,
errorTips,
newCardTip,
lightenUp,
waiting_2,
waiting_3
;
// Behaviour messages
void Awake()
{
Instance = this;
}
public void PlaySound(SoundSkill soundName)
{
//Debug.Log("11");
switch (soundName)
{
case SoundSkill.overTime:
overTimeSound.Play();
break;
case SoundSkill.battle1:
battle1.Play();
break;
case SoundSkill.battle2:
battle2.Play();
break;
case SoundSkill.win:
win.Play();
break;
case SoundSkill.lose:
lose.Play();
break;
case SoundSkill.coin:
coin.Play();
break;
case SoundSkill.waiting1:
waiting_1.Play();
break;
case SoundSkill.button1:
button1.Play();
break;
case SoundSkill.errorTips:
errorTips.Play();
break;
case SoundSkill.newCardTip:
newCardTip.Play();
break;
case SoundSkill.lightenUp:
lightenUp.Play();
break;
case SoundSkill.waiting2:
waiting_2.Play();
break;
case SoundSkill.waiting3:
waiting_3.Play();
break;
default:break;
}
}
public void PauseSound(SoundSkill soundName) {
switch (soundName)
{
case SoundSkill.overTime:
overTimeSound.Pause();
break;
case SoundSkill.battle1:
battle1.Pause();
break;
case SoundSkill.battle2:
battle2.Pause();
break;
case SoundSkill.win:
win.Pause();
break;
case SoundSkill.lose:
lose.Pause();
break;
case SoundSkill.coin:
coin.Pause();
break;
case SoundSkill.waiting1:
waiting_1.Pause();
break;
case SoundSkill.button1:
button1.Pause();
break;
default: break;
}
}
public void SlowCloseBGM(SoundSkill soundName,float time) {
StartCoroutine(CloseBGM(soundName, time));
}
IEnumerator CloseBGM(SoundSkill soundName, float time) {
AudioSource audioSource;
if (soundName == SoundSkill.battle1) {
audioSource = battle1;
}
else {
audioSource = battle2;
}
while (audioSource.volume > 0.2f) {
yield return new WaitForSeconds(0.5f);
audioSource.volume -= 1 / (time * 4);
}
}
}
}