Files
OldThink/Content.Client/_White/AuthPanel/AuthPanelBoundUserInterface.cs

61 lines
1.9 KiB
C#
Raw Normal View History

using Content.Shared._White.AuthPanel;
namespace Content.Client._White.AuthPanel;
public sealed class AuthPanelBoundUserInterface : BoundUserInterface
{
private AuthPanelMenu? _menu;
public AuthPanelBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
{
}
protected override void Open()
{
base.Open();
_menu = new AuthPanelMenu();
2024-12-26 00:10:19 +03:00
_menu.OnRedButtonPressed(_ => SendButtonPressed(AuthPanelAction.ERTRecruit));
// _menu.OnAccessButtonPressed(_ => SendButtonPressed(AuthPanelAction.AddAccess));
// _menu.OnBluespaceWeaponButtonPressed(_ => SendButtonPressed(AuthPanelAction.BluespaceWeapon));
_menu.OnClose += Close;
_menu.OpenCentered();
}
public void SendButtonPressed(AuthPanelAction button)
{
2024-12-26 00:10:19 +03:00
SendMessage(new AuthPanelButtonPressedMessage(button, _menu?.GetReason()));
}
protected override void UpdateState(BoundUserInterfaceState state)
{
2024-12-26 00:10:19 +03:00
if (state is not AuthPanelConfirmationActionState confirmationActionState)
return;
var action = confirmationActionState.Action;
2024-12-26 00:10:19 +03:00
// if (action.Action is AuthPanelAction.AddAccess)
// _menu?.SetAccessCount(action.ConfirmedPeopleCount, action.MaxConfirmedPeopleCount);
if (action.Action is AuthPanelAction.ERTRecruit)
_menu?.SetRedCount(action.ConfirmedPeopleCount, action.MaxConfirmedPeopleCount);
// if (action.Action is AuthPanelAction.BluespaceWeapon)
// _menu?.SetWeaponCount(action.ConfirmedPeopleCount, action.MaxConfirmedPeopleCount);
_menu?.SetReason(action.Reason);
2024-12-26 00:10:19 +03:00
if (action.ConfirmedPeopleCount == 0)
_menu?.UnlockReason();
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
if (!disposing)
return;
_menu?.Close();
}
}