1
0

ParticleAcceleratorBoundUserInterface.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using Content.Shared.Singularity.Components;
  2. using Robust.Client.UserInterface;
  3. namespace Content.Client.ParticleAccelerator.UI
  4. {
  5. public sealed class ParticleAcceleratorBoundUserInterface : BoundUserInterface
  6. {
  7. [ViewVariables]
  8. private ParticleAcceleratorControlMenu? _menu;
  9. public ParticleAcceleratorBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
  10. {
  11. }
  12. protected override void Open()
  13. {
  14. base.Open();
  15. _menu = this.CreateWindow<ParticleAcceleratorControlMenu>();
  16. _menu.SetEntity(Owner);
  17. _menu.OnOverallState += SendEnableMessage;
  18. _menu.OnPowerState += SendPowerStateMessage;
  19. _menu.OnScan += SendScanPartsMessage;
  20. }
  21. public void SendEnableMessage(bool enable)
  22. {
  23. SendMessage(new ParticleAcceleratorSetEnableMessage(enable));
  24. }
  25. public void SendPowerStateMessage(ParticleAcceleratorPowerState state)
  26. {
  27. SendMessage(new ParticleAcceleratorSetPowerStateMessage(state));
  28. }
  29. public void SendScanPartsMessage()
  30. {
  31. SendMessage(new ParticleAcceleratorRescanPartsMessage());
  32. }
  33. protected override void UpdateState(BoundUserInterfaceState state)
  34. {
  35. _menu?.DataUpdate((ParticleAcceleratorUIState) state);
  36. }
  37. }
  38. }