Files
crystall-punk-14/Content.Client/EscapeMenu/UI/EscapeMenu.xaml.cs

70 lines
2.0 KiB
C#
Raw Normal View History

using Content.Client.Info;
using Content.Client.Administration;
using Robust.Client.AutoGenerated;
using Robust.Client.Console;
2019-05-14 15:19:41 +02:00
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML;
using Robust.Client.UserInterface;
using Content.Client.Links;
using Robust.Shared.GameObjects;
2019-05-14 15:19:41 +02:00
2021-06-09 22:19:39 +02:00
namespace Content.Client.EscapeMenu.UI
2019-05-14 15:19:41 +02:00
{
[GenerateTypedNameReferences]
internal sealed partial class EscapeMenu : DefaultWindow
2019-05-14 15:19:41 +02:00
{
private readonly IClientConsoleHost _consoleHost;
2019-05-14 15:19:41 +02:00
private readonly OptionsMenu _optionsMenu;
2019-05-14 15:19:41 +02:00
public EscapeMenu(IClientConsoleHost consoleHost)
2019-05-14 15:19:41 +02:00
{
_consoleHost = consoleHost;
2019-05-14 15:19:41 +02:00
RobustXamlLoader.Load(this);
_optionsMenu = new OptionsMenu();
2019-05-14 15:19:41 +02:00
OptionsButton.OnPressed += OnOptionsButtonClicked;
QuitButton.OnPressed += OnQuitButtonClicked;
RulesButton.OnPressed += _ => new RulesAndInfoWindow().Open();
DisconnectButton.OnPressed += OnDisconnectButtonClicked;
WikiButton.OnPressed += OnWikiButtonClicked;
2019-05-14 15:19:41 +02:00
}
private void OnQuitButtonClicked(BaseButton.ButtonEventArgs args)
{
_consoleHost.ExecuteCommand("quit");
Dispose();
}
private void OnDisconnectButtonClicked(BaseButton.ButtonEventArgs args)
2019-05-14 15:19:41 +02:00
{
_consoleHost.ExecuteCommand("disconnect");
2019-05-14 15:19:41 +02:00
Dispose();
}
private void OnOptionsButtonClicked(BaseButton.ButtonEventArgs args)
{
_optionsMenu.OpenCentered();
2019-05-14 15:19:41 +02:00
}
private void OnWikiButtonClicked(BaseButton.ButtonEventArgs args)
{
var uriOpener = IoCManager.Resolve<IUriOpener>();
uriOpener.OpenUri(UILinks.Wiki);
}
2019-05-14 15:19:41 +02:00
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
2019-05-14 15:19:41 +02:00
if (disposing)
{
_optionsMenu.Dispose();
2019-05-14 15:19:41 +02:00
}
}
}
}