public AudioCueKey Add(AudioCueSO cue, SoundEmitter[] emitter) { AudioCueKey emitterKey = GetKey(cue); _emittersKey.Add(emitterKey); _emittersList.Add(emitter); return(emitterKey); }
public void FinishAudioCue() { if (controlKey != AudioCueKey.Invalid) { if (!_audioCueEventChannel.RaiseFinishEvent(controlKey)) { controlKey = AudioCueKey.Invalid; } } }
public void StopAudioCue() { if (controlKey != AudioCueKey.Invalid) { if (!_audioCueEventChannel.RaiseStopEvent(controlKey)) { controlKey = AudioCueKey.Invalid; } } }
private bool StopMusic(AudioCueKey key) { if (_musicSoundEmitter != null && _musicSoundEmitter.IsPlaying()) { _musicSoundEmitter.Stop(); return(true); } else { return(false); } }
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); }
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); }
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); }
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); }
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); }
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); }
public bool Remove(AudioCueKey key) { int index = _emittersKey.FindIndex(x => x == key); return(RemoveAt(index)); }
public void Add(AudioCueKey key, SoundEmitter[] emitter) { _emittersKey.Add(key); _emittersList.Add(emitter); }
public void PlayAudioCue() { controlKey = _audioCueEventChannel.RaisePlayEvent(_audioCue, _audioConfiguration, transform.position); }