using System.Collections.Generic;
using UnityEngine;
///
/// 音频管理
///
public class AudioManager : Singleton
{
private Dictionary AudioPlayers = new Dictionary();
// 创建AudioPlayer
private AudioPlayer InstantiateAudioPlayerWithName(string name)
{
GameObject audioPlayer = new GameObject(name);
audioPlayer.transform.SetParent(transform);
AudioPlayers.Add(name, audioPlayer.AddComponent());
return AudioPlayers[name];
}
///
/// 获取名字为name的AudioPlayer
///
/// AudioPlayer的名字
/// 名字为name的AudioPlayer
public AudioPlayer GetAudioPlayer(string name)
{
if (AudioPlayers.ContainsKey(name))
{
return AudioPlayers[name];
}
else
{
return InstantiateAudioPlayerWithName(name);
}
}
///
/// 停止播放名字为name的AudioPlayer
///
/// AudioPlayer的名字
public void Stop(string name)
{
if (AudioPlayers.ContainsKey(name))
{
AudioPlayers[name].Stop();
}
}
public void StopAllWithout(string name)
{
foreach (var item in AudioPlayers)
{
if (item.Key != name)
{
item.Value.Stop();
}
}
}
}