2024-01-28 17:32:55 +07:00
|
|
|
|
using Content.Client._White.Stalin.StalinUi;
|
2024-01-28 18:37:24 +07:00
|
|
|
|
using Content.Shared._White.SaltedYayca;
|
2023-04-27 21:56:22 +06:00
|
|
|
|
using Robust.Client.UserInterface;
|
|
|
|
|
|
using Robust.Shared.Network;
|
|
|
|
|
|
|
2024-01-28 17:32:55 +07:00
|
|
|
|
namespace Content.Client._White.Stalin;
|
2023-04-27 21:56:22 +06:00
|
|
|
|
|
|
|
|
|
|
public sealed class StalinManager
|
|
|
|
|
|
{
|
|
|
|
|
|
[Dependency] private readonly INetManager _netManager = default!;
|
|
|
|
|
|
[Dependency] private readonly IUriOpener _uriOpener = default!;
|
2023-09-06 20:58:35 +03:00
|
|
|
|
private StalinLinkWindow _stalinLinkWindow = null!;
|
2023-04-27 21:56:22 +06:00
|
|
|
|
|
|
|
|
|
|
public void Initialize()
|
|
|
|
|
|
{
|
|
|
|
|
|
_netManager.RegisterNetMessage<DiscordAuthResponse>(OnStalinResponse);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void RequestUri()
|
|
|
|
|
|
{
|
|
|
|
|
|
_netManager.ClientSendMessage(new DiscordAuthRequest());
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void OnStalinResponse(DiscordAuthResponse message)
|
|
|
|
|
|
{
|
2023-09-06 20:58:35 +03:00
|
|
|
|
if (_stalinLinkWindow != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
_stalinLinkWindow.Close();
|
|
|
|
|
|
}
|
|
|
|
|
|
_stalinLinkWindow = new StalinLinkWindow();
|
|
|
|
|
|
_stalinLinkWindow.SetUri(message.Uri);
|
|
|
|
|
|
_stalinLinkWindow.OpenCentered();
|
2023-04-27 21:56:22 +06:00
|
|
|
|
}
|
|
|
|
|
|
}
|