예제 #1
0
    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?
    }
예제 #2
0
    private void StopAndCleanEmitter(SoundEmitter soundEmitter)
    {
        if (!soundEmitter.IsLooping())
        {
            soundEmitter.OnSoundFinishedPlaying -= OnSoundEmitterFinishedPlaying;
        }

        soundEmitter.Stop();
        _pool.Return(soundEmitter);
    }
예제 #3
0
 private void OnSoundEmitterFinishedPlaying(SoundEmitter soundEmitter)
 {
     soundEmitter.OnSoundFinishedPlaying -= OnSoundEmitterFinishedPlaying;
     soundEmitter.Stop();
     _pool.Return(soundEmitter);
 }