// 此类别集成MonoBehaviour
[System.Serializable]
public class AudioData
{
public AUDIO_TYPE m_AudioType;
public AudioClip m_Clip;
}
public class AudioManager : MonoBehaviour
{
public List<AudioData> m_SoundList;
public List<AudioData> m_BgList;
}
using System;
using System.Collections.Generic;
using UnityEngine;
public class AudioControl : MonoBehaviour
{
private Dictionary<AUDIO_TYPE, AudioClip> m_AudioList = new Dictionary<AUDIO_TYPE, AudioClip>);
void Start)
{
AudioManager am = GameObject.FindObjectOfType<AudioManager>);
for int i = 0; i < am.m_SoundList.Count; i++)
{
m_AudioList.Addam.m_SoundList[i].m_AudioType, am.m_SoundList[i].m_Clip);
}
DestroyGameObject.FindObjectOfType<AudioManager>).gameObject);
}
void OnGUI)
{
if GUILayout.Button"播放1"))
{
Camera.main.GetComponent<AudioSource>).clip = m_AudioList[AUDIO_TYPE.AT_SCENE_BGM];
Camera.main.GetComponent<AudioSource>).Play);
}
if GUILayout.Button"播放2"))
{
Camera.main.GetComponent<AudioSource>).clip = m_AudioList[AUDIO_TYPE.AT_OPEN_UI];
Camera.main.GetComponent<AudioSource>).Play);
}
if GUILayout.Button"播放3"))
{
Camera.main.GetComponent<AudioSource>).clip = m_AudioList[AUDIO_TYPE.AT_UI_OPEN_CLOSE];
Camera.main.GetComponent<AudioSource>).Play);
}
if GUILayout.Button"播放4"))
{
Camera.main.GetComponent<AudioSource>).clip = m_AudioList[AUDIO_TYPE.AT_UI_WIDGET];
Camera.main.GetComponent<AudioSource>).Play);
}
}
}