1
0

DockingSignalControlSystem.cs 946 B

12345678910111213141516171819202122232425262728
  1. using Content.Server.DeviceLinking.Systems;
  2. using Content.Server.Shuttles.Components;
  3. using Content.Server.Shuttles.Events;
  4. namespace Content.Server.Shuttles.Systems;
  5. public sealed class DockingSignalControlSystem : EntitySystem
  6. {
  7. [Dependency] private readonly DeviceLinkSystem _deviceLinkSystem = default!;
  8. public override void Initialize()
  9. {
  10. base.Initialize();
  11. SubscribeLocalEvent<DockingSignalControlComponent, DockEvent>(OnDocked);
  12. SubscribeLocalEvent<DockingSignalControlComponent, UndockEvent>(OnUndocked);
  13. }
  14. private void OnDocked(Entity<DockingSignalControlComponent> ent, ref DockEvent args)
  15. {
  16. _deviceLinkSystem.SendSignal(ent, ent.Comp.DockStatusSignalPort, signal: true);
  17. }
  18. private void OnUndocked(Entity<DockingSignalControlComponent> ent, ref UndockEvent args)
  19. {
  20. _deviceLinkSystem.SendSignal(ent, ent.Comp.DockStatusSignalPort, signal: false);
  21. }
  22. }