1
0

PowerChargeBoundUserInterface.cs 1002 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. using Content.Shared.Power;
  2. using Robust.Client.UserInterface;
  3. namespace Content.Client.Power.PowerCharge;
  4. public sealed class PowerChargeBoundUserInterface : BoundUserInterface
  5. {
  6. [ViewVariables]
  7. private PowerChargeWindow? _window;
  8. public PowerChargeBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
  9. {
  10. }
  11. public void SetPowerSwitch(bool on)
  12. {
  13. SendMessage(new SwitchChargingMachineMessage(on));
  14. }
  15. protected override void Open()
  16. {
  17. base.Open();
  18. if (!EntMan.TryGetComponent(Owner, out PowerChargeComponent? component))
  19. return;
  20. _window = this.CreateWindow<PowerChargeWindow>();
  21. _window.UpdateWindow(this, Loc.GetString(component.WindowTitle));
  22. }
  23. protected override void UpdateState(BoundUserInterfaceState state)
  24. {
  25. base.UpdateState(state);
  26. if (state is not PowerChargeState chargeState)
  27. return;
  28. _window?.UpdateState(chargeState);
  29. }
  30. }