Files
tbd-station-14/Content.Server/Audio/AmbientSoundSystem.cs
metalgearsloth ff40a7665d Ambient sound system (#4552)
* Ambient sound system

Client-side system that plays audio from nearby objects that are randomly sampled.

* Decent

* Tweaks

* Tweaks

* Comment this out for now

* reduce VM sound

* Fix rolloff

* Fixes

* Volume tweak
2021-09-07 18:47:23 +10:00

24 lines
799 B
C#

using Content.Server.Power.Components;
using Content.Shared.Audio;
using Robust.Shared.GameObjects;
namespace Content.Server.Audio
{
public sealed class AmbientSoundSystem : SharedAmbientSoundSystem
{
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<AmbientOnPoweredComponent, PowerChangedEvent>(HandlePowerChange);
}
private void HandlePowerChange(EntityUid uid, AmbientOnPoweredComponent component, PowerChangedEvent args)
{
if (!ComponentManager.TryGetComponent<AmbientSoundComponent>(uid, out var ambientSound)) return;
if (ambientSound.Enabled == args.Powered) return;
ambientSound.Enabled = args.Powered;
ambientSound.Dirty();
}
}
}