ObserveWarningWindow.xaml.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. using Content.Shared.Administration.Managers;
  2. using JetBrains.Annotations;
  3. using Robust.Client.AutoGenerated;
  4. using Robust.Client.Player;
  5. using Robust.Client.UserInterface.CustomControls;
  6. using Robust.Client.UserInterface.XAML;
  7. namespace Content.Client.Lobby.UI;
  8. [GenerateTypedNameReferences]
  9. [UsedImplicitly]
  10. public sealed partial class ObserveWarningWindow : DefaultWindow
  11. {
  12. [Dependency] private readonly ISharedAdminManager _adminManager = default!;
  13. [Dependency] private readonly IPlayerManager _playerManager = default!;
  14. public ObserveWarningWindow()
  15. {
  16. Title = Loc.GetString("observe-warning-window-title");
  17. RobustXamlLoader.Load(this);
  18. IoCManager.InjectDependencies(this);
  19. var player = _playerManager.LocalSession;
  20. if (player != null && _adminManager.IsAdmin(player))
  21. {
  22. ObserveButton.Text = Loc.GetString("observe-as-player");
  23. ObserveAsAdminButton.Visible = true;
  24. ObserveAsAdminButton.OnPressed += _ => { this.Close(); };
  25. }
  26. ObserveButton.OnPressed += _ => { this.Close(); };
  27. NevermindButton.OnPressed += _ => { this.Close(); };
  28. }
  29. }