* Power stuff - Add shared IsPowered - Add shared ResolveApc - Move PowerChangedEvent to shared for now - Add SlimPoweredLight that actually functions how you'd expect a PoweredLight to function it id didn't have a bunch of bloat on it. * big update * boing
36 lines
1.2 KiB
C#
36 lines
1.2 KiB
C#
using Content.Server.Power.Components;
|
|
using Content.Server.Power.EntitySystems;
|
|
using Content.Shared.Power;
|
|
using Content.Shared.Power.Components;
|
|
using Content.Shared.Sound;
|
|
using Content.Shared.Sound.Components;
|
|
|
|
namespace Content.Server.Sound;
|
|
|
|
public sealed partial class SpamEmitSoundRequirePowerSystem : SharedSpamEmitSoundRequirePowerSystem
|
|
{
|
|
public override void Initialize()
|
|
{
|
|
base.Initialize();
|
|
|
|
SubscribeLocalEvent<SpamEmitSoundRequirePowerComponent, PowerChangedEvent>(OnPowerChanged);
|
|
SubscribeLocalEvent<SpamEmitSoundRequirePowerComponent, PowerNetBatterySupplyEvent>(OnPowerSupply);
|
|
}
|
|
|
|
private void OnPowerChanged(Entity<SpamEmitSoundRequirePowerComponent> entity, ref PowerChangedEvent args)
|
|
{
|
|
if (TryComp<SpamEmitSoundComponent>(entity.Owner, out var comp))
|
|
{
|
|
EmitSound.SetEnabled((entity, comp), args.Powered);
|
|
}
|
|
}
|
|
|
|
private void OnPowerSupply(Entity<SpamEmitSoundRequirePowerComponent> entity, ref PowerNetBatterySupplyEvent args)
|
|
{
|
|
if (TryComp<SpamEmitSoundComponent>(entity.Owner, out var comp))
|
|
{
|
|
EmitSound.SetEnabled((entity, comp), args.Supply);
|
|
}
|
|
}
|
|
}
|