Delta-v/Content.Shared/_DV/DeviceLinking/Systems/PowerTogglePortSystem.cs

30 lines
901 B
C#

using Content.Shared.DeviceLinking.Events;
using Content.Shared.Power.EntitySystems;
using Content.Shared.Power.Components;
using Content.Shared.DeviceLinking;
using Content.Shared._DV.DeviceLinking.Components;
using Robust.Shared.Prototypes;
namespace Content.Shared._DV.DeviceLinking.Systems;
public sealed class PowerTogglePortSystem : EntitySystem
{
[Dependency] private readonly SharedDeviceLinkSystem _device = default!;
[Dependency] private readonly SharedPowerReceiverSystem _power = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<PowerTogglePortComponent, SignalReceivedEvent>(OnSignalReceived);
}
private void OnSignalReceived(Entity<PowerTogglePortComponent> entity, ref SignalReceivedEvent args)
{
if (args.Port == entity.Comp.PowerTogglePort)
_power.TogglePower(entity);
}
}