private void StopAndCleanEmitter(SoundEmitter soundEmitter) { if (!soundEmitter.IsLooping()) { soundEmitter.OnSoundFinishedPlaying -= OnSoundEmitterFinishedPlaying; } soundEmitter.Stop(); _pool.Return(soundEmitter); //TODO: is the above enough? //_soundEmitterVault.Remove(audioCueKey); is never called if StopAndClean is called after a Finish event //How is the key removed from the vault? }
private void StopAndCleanEmitter(SoundEmitter soundEmitter) { if (!soundEmitter.IsLooping()) { soundEmitter.OnSoundFinishedPlaying -= OnSoundEmitterFinishedPlaying; } soundEmitter.Stop(); _pool.Return(soundEmitter); }
private void OnSoundEmitterFinishedPlaying(SoundEmitter soundEmitter) { soundEmitter.OnSoundFinishedPlaying -= OnSoundEmitterFinishedPlaying; soundEmitter.Stop(); _pool.Return(soundEmitter); }