using System.Collections; using System.Collections.Generic; using UnityEngine; /* 音频管理者 */ public class AudioMgr : MonoBehaviour { private AudioSource audioSource; public static AudioMgr ins; public static void Init() { if (!ins) { GameObject audioMgr = new GameObject("AudioMgr"); ins = audioMgr.AddComponent(); DontDestroyOnLoad(audioMgr); } } void Awake() { this.audioSource = this.gameObject.AddComponent(); } public void Play(string path, AudioSource audioSource) { AudioClip audioClip = Resources.Load(path); if (audioSource == null) { audioSource = this.audioSource; } audioSource.clip = audioClip; if (UserSettings.ins.openEffect) { audioSource.Play(); } } public static AudioSource GetAudioSource(GameObject target) { AudioSource audioSource = target.GetComponent(); if (audioSource == null) { audioSource = target.AddComponent(); } return audioSource; } public void PlayShoot(AudioSource audioSource) { this.Play("Audios/shoot", audioSource); } public void PlayHit(AudioSource audioSource) { this.Play("Audios/hit", audioSource); } public void PlayCheer(bool cheer) { this.Play("Audios/" + (cheer ? "喝彩" : "喝倒彩"), null); } public void PlayBtn() { this.Play("Audios/btn", null); } public void PlayWin() { this.Play("Audios/win", null); } public void PlayArrowEnter() { this.Play("Audios/Animal/arrow_enter", null); } public void PlayAnimalEffect(string name, AudioSource audioSource) { this.Play("Audios/Animal/" + name, audioSource); } }