Ejemplo n.º 1
0
        internal static void StopTravelerAudio(this TravelerAudioManager manager, TravelerController traveler)
        {
            var signalName = TravelerToSignalName(traveler);

            if (signalName == null)
            {
                return;
            }

            var signal = manager._signals.First(x => x.GetName() == signalName);

            signal.GetOWAudioSource().FadeOut(0.5f);
        }
Ejemplo n.º 2
0
        internal static void PlayTravelerAudio(this TravelerAudioManager manager, TravelerController traveler, float audioDelay)
        {
            var signalName = TravelerToSignalName(traveler);

            if (signalName == null)
            {
                return;
            }

            var signal = manager._signals.First(x => x.GetName() == signalName);

            manager._playAfterDelay = false;
            manager._playAudioTime  = Time.time + audioDelay;
            Delay.RunWhen(() => Time.time >= manager._playAudioTime, () =>
            {
                if (!signal.IsOnlyAudibleToScope() || signal.GetOWAudioSource().isPlaying)
                {
                    signal.GetOWAudioSource().FadeIn(0.5f);
                    signal.GetOWAudioSource().timeSamples = 0;
                }
            });
        }