AudioMgr.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. /* 音频管理者 */
  5. public class AudioMgr : MonoBehaviour
  6. {
  7. private AudioSource audioSource;
  8. public static AudioMgr ins;
  9. public static void Init()
  10. {
  11. if (!ins) {
  12. GameObject audioMgr = new GameObject("AudioMgr");
  13. ins = audioMgr.AddComponent<AudioMgr>();
  14. DontDestroyOnLoad(audioMgr);
  15. }
  16. }
  17. void Awake() {
  18. this.audioSource = this.gameObject.AddComponent<AudioSource>();
  19. }
  20. public void Play(string path, AudioSource audioSource) {
  21. AudioClip audioClip = Resources.Load<AudioClip>(path);
  22. if (audioSource == null) {
  23. audioSource = this.audioSource;
  24. }
  25. audioSource.clip = audioClip;
  26. if (UserSettings.ins.openEffect) {
  27. audioSource.Play();
  28. }
  29. }
  30. public static AudioSource GetAudioSource(GameObject target) {
  31. AudioSource audioSource = target.GetComponent<AudioSource>();
  32. if (audioSource == null) {
  33. audioSource = target.AddComponent<AudioSource>();
  34. }
  35. return audioSource;
  36. }
  37. public void PlayGunShoot(AudioSource audioSource)
  38. {
  39. this.Play("Audios/gun_shoot", audioSource);
  40. }
  41. public void PlayShoot(AudioSource audioSource) {
  42. this.Play("Audios/shoot", audioSource);
  43. }
  44. public void PlayHit(AudioSource audioSource) {
  45. this.Play("Audios/hit", audioSource);
  46. }
  47. public void PlayCheer(bool cheer) {
  48. this.audioSource.volume = 1;
  49. this.Play("Audios/" + (cheer ? "喝彩" : "喝倒彩"), null);
  50. }
  51. //按钮播放音效
  52. public void PlayBtn() {
  53. //连接了枪情况下播放枪声音
  54. //if (BluetoothAim.ins && BluetoothAim.ins.isMainConnectToGun() && GlobalData.MyDeviceMode == DeviceMode.Gun)
  55. //{
  56. // this.audioSource.volume = 1;// 0.15f;
  57. // this.Play("Audios/gun_shoot", null);
  58. //}
  59. //else {
  60. this.audioSource.volume = 1;
  61. this.Play("Audios/btn", null);
  62. // }
  63. }
  64. public void PlayWin() {
  65. this.audioSource.volume = 1;
  66. this.Play("Audios/win", null);
  67. }
  68. public void PlayArrowEnter() {
  69. this.audioSource.volume = 1;
  70. this.Play("Audios/Animal/arrow_enter", null);
  71. }
  72. public void PlayAnimalEffect(string name, AudioSource audioSource) {
  73. this.Play("Audios/Animal/" + name, audioSource);
  74. }
  75. /// <summary>
  76. /// 上弹夹
  77. /// </summary>
  78. public void PlayBeLoaded()
  79. {
  80. this.audioSource.volume = 1;
  81. this.Play("Audios/be_loaded", null);
  82. }
  83. }