public void UnloadAudio(AudioIDEnum ID) { if (clipDicts.ContainsKey(ID)) { clipDicts.Remove(ID); } }
static public UUIEventListener Get(GameObject go, AudioIDEnum audioID = AudioIDEnum.none) { UUIEventListener listener = go.GetComponent <UUIEventListener>(); if (listener == null) { listener = go.AddComponent <UUIEventListener>(); } listener.audioEnum = audioID; return(listener); }
public void UnloadAudioPreset(AudioPreset preset) { for (int i = 0; i < preset.Audios.Length; i++) { AudioIDEnum ID = preset.Audios[i].Type; if (clipDicts.ContainsKey(ID)) { clipDicts.Remove(ID); } } }
public void PlayOneShot(AudioIDEnum ID, float volumeMultiplier = 1) { if (clipDicts.ContainsKey(ID)) { oneShotAudioSrc.PlayOneShot(clipDicts[ID].Clip, clipDicts[ID].Volume * volumeMultiplier); } else { #if UNITY_EDITOR Debug.LogWarningFormat("Audio '{0}' doesn't exist", ID); #endif } }
public void LoadAudio(AudioIDEnum ID, AudioClip clip, float volume = 1, bool overrideExist = false) { if (clipDicts.ContainsKey(ID)) { if (!overrideExist) { #if UNITY_EDITOR Debug.LogWarningFormat("Audio '{0}' already exist", ID); #endif } else { clipDicts[ID] = new AudioPreset.EnumToAudio(ID, clip, volume); } } else { clipDicts.Add(ID, new AudioPreset.EnumToAudio(ID, clip, volume)); } }
public AudioOneShotPlayer PlayOneShotAtPosition(AudioIDEnum ID, Vector3 position, float volumeMultiplier = 1) { if (!clipDicts.ContainsKey(ID)) { #if UNITY_EDITOR Debug.LogWarningFormat("Audio '{0}' doesn't exist", ID); #endif return(null); } Vector2 delta = position - Listener.transform.position; if (delta.sqrMagnitude > soundInRange * soundInRange) { return(null); } AudioOneShotPlayer player = oneShotPlayerPool.Get(); player.transform.position = position; player.Play(clipDicts[ID].Clip, (_player) => oneShotPlayerPool.Put(_player), clipDicts[ID].Volume * volumeMultiplier); return(player); }
public EnumToAudio(AudioIDEnum type, AudioClip clip, float volume = 1) { Type = type; Clip = clip; Volume = volume; }