Manager - AudioManager.cs - 经理_音乐
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AudioManager : BaseManager {
public AudioManager(GameFacade facade) : base(facade) { }
private const string Sound_Prefix = "Sounds/";
public const string Sound_Alert = "Alert";
public const string Sound_ArrowShoot = "ArrowShoot";
public const string Sound_Bg_Fast = "Bg(fast)";
public const string Sound_Bg_Moderate = "Bg(moderate)";
public const string Sound_ButtonClick = "ButtonClick";
public const string Sound_Miss = "Miss";
public const string Sound_ShootPerson = "ShootPerson";
public const string Sound_Timer = "Timer";
private AudioSource bgAudioSource;
private AudioSource normalAudioSource;
public override void OnInit()
{
GameObject audioSourceGO = new GameObject("AudioSource(GameObject)");
bgAudioSource = audioSourceGO.AddComponent<AudioSource>();
normalAudioSource = audioSourceGO.AddComponent<AudioSource>();
PlaySound(bgAudioSource, LoadSound(Sound_Bg_Moderate),0.5f, true);
}
public void PlayBgSound(string soundName)
{
PlaySound(bgAudioSource, LoadSound(soundName), 0.5f, true);
}
public void PlayNormalSound(string soundName)
{
PlaySound(normalAudioSource, LoadSound(soundName), 1f);
}
private void PlaySound( AudioSource audioSource,AudioClip clip,float volume, bool loop=false)
{
audioSource.clip = clip;
audioSource.volume = volume;
audioSource.loop = loop;
audioSource.Play();
}
private AudioClip LoadSound(string soundsName)
{
return Resources.Load<AudioClip>(Sound_Prefix + soundsName);
}
}