1
0

ActivatableUIRequiresPowerSystem.cs 827 B

123456789101112131415161718192021222324
  1. using Content.Client.Power.EntitySystems;
  2. using Content.Shared.Popups;
  3. using Content.Shared.Power.Components;
  4. using Content.Shared.Power.EntitySystems;
  5. using Content.Shared.UserInterface;
  6. using Content.Shared.Wires;
  7. namespace Content.Client.Power;
  8. public sealed class ActivatableUIRequiresPowerSystem : SharedActivatableUIRequiresPowerSystem
  9. {
  10. [Dependency] private readonly SharedPopupSystem _popup = default!;
  11. protected override void OnActivate(Entity<ActivatableUIRequiresPowerComponent> ent, ref ActivatableUIOpenAttemptEvent args)
  12. {
  13. if (args.Cancelled || this.IsPowered(ent.Owner, EntityManager))
  14. {
  15. return;
  16. }
  17. _popup.PopupClient(Loc.GetString("base-computer-ui-component-not-powered", ("machine", ent.Owner)), args.User, args.User);
  18. args.Cancel();
  19. }
  20. }