NavMapBeaconBoundUserInterface.cs 845 B

1234567891011121314151617181920212223242526272829303132
  1. using Content.Shared.Pinpointer;
  2. using JetBrains.Annotations;
  3. using Robust.Client.UserInterface;
  4. namespace Content.Client.Pinpointer.UI;
  5. [UsedImplicitly]
  6. public sealed class NavMapBeaconBoundUserInterface : BoundUserInterface
  7. {
  8. [ViewVariables]
  9. private NavMapBeaconWindow? _window;
  10. public NavMapBeaconBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
  11. {
  12. }
  13. protected override void Open()
  14. {
  15. base.Open();
  16. _window = this.CreateWindow<NavMapBeaconWindow>();
  17. if (EntMan.TryGetComponent(Owner, out NavMapBeaconComponent? beacon))
  18. {
  19. _window.SetEntity(Owner, beacon);
  20. }
  21. _window.OnApplyButtonPressed += (label, enabled, color) =>
  22. {
  23. SendMessage(new NavMapBeaconConfigureBuiMessage(label, enabled, color));
  24. };
  25. }
  26. }