Пример #1
0
        private static void SetHorn(LocoAudioDiesel audio, SoundSet soundSet)
        {
            var hornHitSource = audio.hornAudio.transform.Find("train_horn_01_hit").GetComponent <AudioSource>();

            AudioUtils.Apply(TrainCarType.LocoDiesel, SoundType.HornHit, soundSet[SoundType.HornHit], hornHitSource);
            AudioUtils.Apply(TrainCarType.LocoDiesel, SoundType.HornLoop, soundSet[SoundType.HornLoop], audio.hornAudio);
        }
Пример #2
0
            private static void SetupBell(LocoAudioDiesel __instance)
            {
                var originalHornLoop =
                    __instance.transform.Find("Horn/LocoDiesel_Horn_Layered/train_horn_01_loop").GetComponent <AudioSource>();
                var bellSource = GameObject.Instantiate(originalHornLoop, __instance.transform.Find("Horn"));

                bellSource.name         = "ZSounds bell";
                bellSource.loop         = false;
                bellSource.volume       = 1f;
                bellSource.spatialBlend = 1f;
            }
Пример #3
0
        public static void SetEngine(LocoAudioDiesel audio, SoundSet soundSet)
        {
            soundSet.sounds.TryGetValue(SoundType.EngineStartup, out var startup);
            AudioUtils.Apply(TrainCarType.LocoDiesel, SoundType.EngineStartup, startup, ref audio.engineOnClip);
            soundSet.sounds.TryGetValue(SoundType.EngineShutdown, out var shutdown);
            AudioUtils.Apply(TrainCarType.LocoDiesel, SoundType.EngineShutdown, shutdown, ref audio.engineOffClip);
            EngineFade.SetFadeSettings(audio, new EngineFade.Settings
            {
                fadeInStart     = startup?.fadeStart ?? 0.15f * audio.engineOnClip.length,
                fadeOutStart    = shutdown?.fadeStart ?? 0.10f * audio.engineOffClip.length,
                fadeInDuration  = startup?.fadeDuration ?? 2f,
                fadeOutDuration = shutdown?.fadeDuration ?? 1f,
            });

            AudioUtils.Apply(TrainCarType.LocoDiesel, SoundType.EngineLoop, soundSet[SoundType.EngineLoop], audio.engineAudio);
            AudioUtils.Apply(TrainCarType.LocoDiesel, SoundType.EngineLoadLoop, soundSet[SoundType.EngineLoadLoop], audio.enginePistonAudio);
            AudioUtils.Apply(TrainCarType.LocoDiesel, SoundType.TractionMotors, soundSet[SoundType.TractionMotors], audio.electricMotorAudio);
        }
Пример #4
0
 public static void Postfix(LocoAudioDiesel __instance)
 {
     SetupBell(__instance);
 }
Пример #5
0
        private static void SetBell(LocoAudioDiesel audio, SoundSet soundSet)
        {
            var audioSource = audio.transform.Find("Horn/ZSounds bell").GetComponent <AudioSource>();

            AudioUtils.Apply(TrainCarType.LocoDiesel, SoundType.Bell, soundSet[SoundType.Bell], audioSource);
        }