Пример #1
0
        public void PlayAndWait(float volume)
        {
            ISound sound = AudioClip.Play(volume);

            OnSoundStarted.Invoke(sound);
            EmittedSound emittedSound = new EmittedSound(sound);

            _playingSounds.TryAdd(emittedSound.ID, emittedSound);
            Task.Run(async() => await sound.Completed).Wait();
            OnSoundCompleted.Invoke(sound);
        }
Пример #2
0
        public ISound Play(float volume, bool shouldLoop = false)
        {
            ISound sound = AudioClip.Play(volume, shouldLoop);

            OnSoundStarted.Invoke(sound);
            EmittedSound emittedSound = new EmittedSound(sound);

            _playingSounds.TryAdd(emittedSound.ID, emittedSound);
            sound.Completed.ContinueWith(_ => OnSoundCompleted?.Invoke(sound));
            return(sound);
        }
Пример #3
0
        public void PlayAndWait(ISoundProperties properties = null)
        {
            ISound sound = AudioClip.Play(false, properties);

            OnSoundStarted.Invoke(sound);
            EmittedSound emittedSound = new EmittedSound(sound);

            _playingSounds.TryAdd(emittedSound.ID, emittedSound);
            Task.Run(async() => await sound.Completed).Wait();
            OnSoundCompleted.Invoke(sound);
        }
Пример #4
0
        public ISound Play(bool shouldLoop = false, ISoundProperties properties = null)
        {
            ISound sound = AudioClip.Play(shouldLoop, properties);

            OnSoundStarted.Invoke(sound);
            EmittedSound emittedSound = new EmittedSound(sound);

            _playingSounds.TryAdd(emittedSound.ID, emittedSound);
            sound.Completed.ContinueWith(_ => OnSoundCompleted?.Invoke(sound));
            return(sound);
        }