25 lines
827 B
C#
25 lines
827 B
C#
using Content.Client.Power.EntitySystems;
|
|
using Content.Shared.Popups;
|
|
using Content.Shared.Power.Components;
|
|
using Content.Shared.Power.EntitySystems;
|
|
using Content.Shared.UserInterface;
|
|
using Content.Shared.Wires;
|
|
|
|
namespace Content.Client.Power;
|
|
|
|
public sealed class ActivatableUIRequiresPowerSystem : SharedActivatableUIRequiresPowerSystem
|
|
{
|
|
[Dependency] private readonly SharedPopupSystem _popup = default!;
|
|
|
|
protected override void OnActivate(Entity<ActivatableUIRequiresPowerComponent> ent, ref ActivatableUIOpenAttemptEvent args)
|
|
{
|
|
if (args.Cancelled || this.IsPowered(ent.Owner, EntityManager))
|
|
{
|
|
return;
|
|
}
|
|
|
|
_popup.PopupClient(Loc.GetString("base-computer-ui-component-not-powered", ("machine", ent.Owner)), args.User, args.User);
|
|
args.Cancel();
|
|
}
|
|
}
|