AudioMgr.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class AudioMgr : MonoBehaviour
  5. {
  6. private AudioSource audioSource;
  7. public static AudioMgr ins;
  8. public static bool openEffect = true;
  9. public static void init()
  10. {
  11. if (GameObject.Find("AudioMgr") == null) {
  12. GameObject audioMgr = new GameObject("AudioMgr");
  13. audioMgr.AddComponent<AudioSource>();
  14. audioMgr.AddComponent<AudioMgr>();
  15. DontDestroyOnLoad(audioMgr);
  16. }
  17. }
  18. void Start() {
  19. ins = this;
  20. this.audioSource = this.GetComponent<AudioSource>();
  21. }
  22. private void Play(string path, AudioSource audioSource) {
  23. AudioClip audioClip = Resources.Load<AudioClip>(path);
  24. if (audioSource == null) {
  25. audioSource = this.audioSource;
  26. }
  27. audioSource.clip = audioClip;
  28. if (openEffect) {
  29. audioSource.Play();
  30. }
  31. }
  32. public static AudioSource GetAudioSource(GameObject target) {
  33. AudioSource audioSource = target.GetComponent<AudioSource>();
  34. if (audioSource == null) {
  35. audioSource = target.AddComponent<AudioSource>();
  36. }
  37. return audioSource;
  38. }
  39. public void PlayShoot(AudioSource audioSource) {
  40. this.Play("Audios/shoot", audioSource);
  41. }
  42. public void PlayHit(AudioSource audioSource) {
  43. this.Play("Audios/hit", audioSource);
  44. }
  45. public void PlayCheer(bool cheer) {
  46. this.Play("Audios/" + (cheer ? "喝彩" : "喝倒彩"), null);
  47. }
  48. public void PlayBtn() {
  49. this.Play("Audios/btn", null);
  50. }
  51. public void PlayWin() {
  52. this.Play("Audios/win", null);
  53. }
  54. }