| | |
| | | using System.Collections; |
| | | using System.Security.Cryptography.X509Certificates; |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using UnityEngine; |
| | | |
| | |
| | | WaterTAttack,//水攻击 |
| | | WoodTAttack,//木攻击 |
| | | LightningSkill,//电技能 |
| | | FireSkill//火技能 |
| | | FireSkill,//火技能 |
| | | FinalScore,//结算分数滚动效果 |
| | | BossWaterSkill,//气泡 |
| | | WaterTowerSkill,//冰淇淋技能 |
| | | WoodSkill,//玉米狙击子弹 |
| | | Upgrade,//合成 |
| | | |
| | | } |
| | | public class AudioSourceManager : MonoBehaviour |
| | | { |
| | |
| | | return tmpAudioSource; |
| | | } |
| | | |
| | | private AudioClip LoadAudioClip(string musicName) |
| | | public AudioClip LoadAudioClip(string musicName) |
| | | { |
| | | if (clipDic.ContainsKey(musicName)) |
| | | return clipDic[musicName]; |
| | |
| | | clipDic.Add(musicName, au); |
| | | return au; |
| | | } |
| | | |
| | | } |
| | | |
| | | public void Play(AudioEnum en) |
| | |
| | | Play("电技能", true); |
| | | break; |
| | | case AudioEnum.FireSkill: |
| | | Play("火技能", true); |
| | | Debug.Log("火焰喷射"); |
| | | |
| | | Play("火焰喷射", true); |
| | | break; |
| | | case AudioEnum.FinalScore: |
| | | Debug.Log("结算分数"); |
| | | |
| | | Play("结算分数", true); |
| | | break; |
| | | case AudioEnum.BossWaterSkill: |
| | | //Play("气泡", true); |
| | | PlayBossWaterSkill("气泡"); |
| | | break; |
| | | case AudioEnum.WaterTowerSkill: |
| | | Play("冰淇淋技能", true); |
| | | break; |
| | | case AudioEnum.WoodSkill: |
| | | |
| | | Play("玉米狙击子弹", true); |
| | | break; |
| | | case AudioEnum.Upgrade: |
| | | Debug.Log("合成"); |
| | | |
| | | Play("合成", true); |
| | | break; |
| | | } |
| | | } |
| | | |
| | |
| | | tmpAudioSource.volume = volume; |
| | | } |
| | | |
| | | AudioSource bossWaterSkillAS; |
| | | /// <summary> |
| | | /// BOSS气泡技能 38秒钟,所以不用循环播放 |
| | | /// </summary> |
| | | /// <param name="musicName"></param> |
| | | /// <param name="volume"></param> |
| | | private void PlayBossWaterSkill(string musicName, float volume = 1.0f) |
| | | { |
| | | Debug.Log("BOSS气泡技能 38秒钟,所以不用循环播放"); |
| | | |
| | | AudioClip au = LoadAudioClip(musicName); |
| | | bossWaterSkillAS = GetAudioSource(); |
| | | bossWaterSkillAS.clip = au; |
| | | bossWaterSkillAS.loop = false; |
| | | |
| | | bossWaterSkillAS.Play(); |
| | | bossWaterSkillAS.volume = volume; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// BOSS气泡技能结束 |
| | | /// </summary> |
| | | public void StopBossWaterSkill() |
| | | { |
| | | Debug.Log("BOSS气泡技能结束"); |
| | | if (bossWaterSkillAS != null) |
| | | { |
| | | bossWaterSkillAS.Stop(); |
| | | bossWaterSkillAS.clip = null; |
| | | if (audioSourceList.Count > 5) |
| | | { |
| | | audioSourceList.Remove(bossWaterSkillAS); |
| | | Destroy(bossWaterSkillAS); |
| | | bossWaterSkillAS = null; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 暂停背景音乐 |
| | | /// </summary> |
| | | public void StopBGAudio() |
| | | { |
| | | if (!audioSourceList[0].isPlaying) |
| | | audioSourceList[0].Stop(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 继续背景音乐 |
| | | /// </summary> |
| | | public void RestartBGAudio() |
| | | { |
| | | if (!audioSourceList[0].isPlaying) |
| | | audioSourceList[0].Play(); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 销毁音效 |
| | | /// </summary> |