Exemplo n.º 1
0
 public void PlaySound(bool state, string name, bool loop, AudioClip clip, Vector3 pos)
 {
     if (_globalSoundsState)
     {
         if (state)
         {
             AudioSource source;
             if (_lib.ContainsKey(name))
             {
                 source = _lib[name];
                 if (!source.gameObject.active)
                 {
                     _lib.Remove(name);
                     PlaySound(state, name, loop, clip, pos);
                     return;
                 }
             }
             else
             {
                 source = AudioSourcePool.GetInstance().GetAudioSource();
                 source.transform.position = pos;
                 _lib.Add(name, source);
             }
             source.clip = clip;
             source.loop = loop;
             source.Play(0);
         }
         else
         {
             if (_lib.ContainsKey(name))
             {
                 AudioSource source = _lib[name];
                 source.Stop();
                 AudioSourcePool.GetInstance().DestroyAudioSource(source);
                 _lib.Remove(name);
             }
         }
     }
 }
Exemplo n.º 2
0
 public void OnSoundVolumeChanged(float value)
 {
     AudioSourcePool.GetInstance().SetVolume(value);
 }
Exemplo n.º 3
0
 public override void Execute()
 {
     AudioSourcePool.GetInstance().Execute();
 }