Esempio n. 1
0
    public AudioCueKey Add(AudioCueSO cue, SoundEmitter[] emitter)
    {
        AudioCueKey emitterKey = GetKey(cue);

        _emittersKey.Add(emitterKey);
        _emittersList.Add(emitter);

        return(emitterKey);
    }
Esempio n. 2
0
 public void FinishAudioCue()
 {
     if (controlKey != AudioCueKey.Invalid)
     {
         if (!_audioCueEventChannel.RaiseFinishEvent(controlKey))
         {
             controlKey = AudioCueKey.Invalid;
         }
     }
 }
Esempio n. 3
0
 public void StopAudioCue()
 {
     if (controlKey != AudioCueKey.Invalid)
     {
         if (!_audioCueEventChannel.RaiseStopEvent(controlKey))
         {
             controlKey = AudioCueKey.Invalid;
         }
     }
 }
Esempio n. 4
0
 private bool StopMusic(AudioCueKey key)
 {
     if (_musicSoundEmitter != null && _musicSoundEmitter.IsPlaying())
     {
         _musicSoundEmitter.Stop();
         return(true);
     }
     else
     {
         return(false);
     }
 }
Esempio n. 5
0
    public bool Get(AudioCueKey key, out SoundEmitter[] emitter)
    {
        int index = _emittersKey.FindIndex(x => x == key);

        if (index < 0)
        {
            emitter = null;
            return(false);
        }

        emitter = _emittersList[index];
        return(true);
    }
Esempio n. 6
0
    public bool FinishAudioCue(AudioCueKey emitterKey)
    {
        bool isFound = _soundEmitterList.Get(emitterKey, out SoundEmitter[] soundEmitters);

        if (isFound)
        {
            for (int i = 0; i < soundEmitters.Length; i++)
            {
                soundEmitters[i].Finish();
                soundEmitters[i].OnSoundFinishedPlaying += OnSoundEmitterFinishedPlaying;
            }
        }

        return(isFound);
    }
Esempio n. 7
0
    public bool StopAudioCue(AudioCueKey audioCueKey)
    {
        bool isFound = _soundEmitterVault.Get(audioCueKey, out SoundEmitter[] soundEmitters);

        if (isFound)
        {
            for (int i = 0; i < soundEmitters.Length; i++)
            {
                StopAndCleanEmitter(soundEmitters[i]);
            }

            _soundEmitterVault.Remove(audioCueKey);
        }

        return(isFound);
    }
Esempio n. 8
0
    public bool RaiseFinishEvent(AudioCueKey audioCueKey)
    {
        bool requestSucceed = false;

        if (OnAudioCueStopRequested != null)
        {
            requestSucceed = OnAudioCueFinishRequested.Invoke(audioCueKey);
        }
        else
        {
            Debug.LogWarning("An AudioCue finish event was requested, but nobody picked it up. " +
                             "Check why there is no AudioManager already loaded, " +
                             "and make sure it's listening on this AudioCue Event channel.");
        }

        return(requestSucceed);
    }
Esempio n. 9
0
    public AudioCueKey RaisePlayEvent(AudioCueSO audioCue, AudioConfigurationSO audioConfiguration, Vector3 positionInSpace = default)
    {
        AudioCueKey audioCueKey = AudioCueKey.Invalid;

        if (OnAudioCuePlayRequested != null)
        {
            audioCueKey = OnAudioCuePlayRequested.Invoke(audioCue, audioConfiguration, positionInSpace);
        }
        else
        {
            Debug.LogWarning("An AudioCue play event was requested  for " + audioCue.name + ", but nobody picked it up. " +
                             "Check why there is no AudioManager already loaded, " +
                             "and make sure it's listening on this AudioCue Event channel.");
        }

        return(audioCueKey);
    }
Esempio n. 10
0
    public bool FinishAudioCue(AudioCueKey audioCueKey)
    {
        bool isFound = _soundEmitterVault.Get(audioCueKey, out SoundEmitter[] soundEmitters);

        if (isFound)
        {
            for (int i = 0; i < soundEmitters.Length; i++)
            {
                soundEmitters[i].Finish();
                soundEmitters[i].OnSoundFinishedPlaying += OnSoundEmitterFinishedPlaying;
            }
        }
        else
        {
            Debug.LogWarning("Finishing an AudioCue was requested, but the AudioCue was not found.");
        }

        return(isFound);
    }
Esempio n. 11
0
    public bool Remove(AudioCueKey key)
    {
        int index = _emittersKey.FindIndex(x => x == key);

        return(RemoveAt(index));
    }
Esempio n. 12
0
 public void Add(AudioCueKey key, SoundEmitter[] emitter)
 {
     _emittersKey.Add(key);
     _emittersList.Add(emitter);
 }
Esempio n. 13
0
 public void PlayAudioCue()
 {
     controlKey = _audioCueEventChannel.RaisePlayEvent(_audioCue, _audioConfiguration, transform.position);
 }