Exemple #1
0
 public void UnloadAudio(AudioIDEnum ID)
 {
     if (clipDicts.ContainsKey(ID))
     {
         clipDicts.Remove(ID);
     }
 }
Exemple #2
0
    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);
    }
Exemple #3
0
        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);
                }
            }
        }
Exemple #4
0
 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
     }
 }
Exemple #5
0
 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));
     }
 }
Exemple #6
0
        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);
        }
Exemple #7
0
 public EnumToAudio(AudioIDEnum type, AudioClip clip, float volume = 1)
 {
     Type   = type;
     Clip   = clip;
     Volume = volume;
 }