From 45faee0adf3b5bc2ac051c2a0e08bb4ecf738aac Mon Sep 17 00:00:00 2001
From: wangguan <wangguan@kt007.com>
Date: Thu, 17 Dec 2020 14:31:17 +0800
Subject: [PATCH] Merge commit 'fe59d1a97e80284315bcdfa18a49059b38dfd137'

---
 Assets/Scripts/Music/AudioSourceManager.cs |  107 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 100 insertions(+), 7 deletions(-)

diff --git a/Assets/Scripts/Music/AudioSourceManager.cs b/Assets/Scripts/Music/AudioSourceManager.cs
index 5b963fe..a2d6892 100644
--- a/Assets/Scripts/Music/AudioSourceManager.cs
+++ b/Assets/Scripts/Music/AudioSourceManager.cs
@@ -1,4 +1,5 @@
-using System.Collections;
+using System.Security.Cryptography.X509Certificates;
+using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
@@ -19,7 +20,16 @@
     WaterTAttack,//水攻击
     WoodTAttack,//木攻击
     LightningSkill,//电技能
-    FireSkill//火技能
+    FireSkill,//火技能
+    FinalScore,//结算分数滚动效果
+    BossWaterSkill,//气泡
+    WaterTowerSkill,//冰淇淋技能
+    WoodSkill,//玉米狙击子弹
+    Upgrade,//合成
+    Gold,//金币
+    GuideOpenBox,//新手引导开宝箱
+    OpenTowerPlace,//开启塔位
+
 }
 public class AudioSourceManager : MonoBehaviour
 {
@@ -65,7 +75,7 @@
         return tmpAudioSource;
     }
 
-    private AudioClip LoadAudioClip(string musicName)
+    public AudioClip LoadAudioClip(string musicName)
     {
         if (clipDic.ContainsKey(musicName))
             return clipDic[musicName];
@@ -75,7 +85,6 @@
             clipDic.Add(musicName, au);
             return au;
         }
-
     }
 
     public void Play(AudioEnum en)
@@ -130,9 +139,33 @@
                 Play("电技能", true);
                 break;
             case AudioEnum.FireSkill:
-                Play("火技能", true);
+                Play("火焰喷射", true);
                 break;
-
+            case AudioEnum.FinalScore:
+                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:
+                Play("合成", true);
+                break;
+            case AudioEnum.Gold:
+                Play("金币", true);
+                break;
+            case AudioEnum.GuideOpenBox:
+                Play("新手引导开宝箱", true);
+                break;
+            case AudioEnum.OpenTowerPlace:
+                Play("开启塔位", true);
+                break;
 
         }
     }
@@ -158,13 +191,73 @@
         else
         {
             tmpAudioSource = audioSourceList[0];
+            tmpAudioSource.clip = null;
             tmpAudioSource.clip = au;
             tmpAudioSource.loop = true;
-            tmpAudioSource.volume = volume;
         }
         tmpAudioSource.Play();
+        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>

--
Gitblit v1.9.1