6
StarHorizon_Public/Content.Client/Thief/ThiefBackpackBoundUserInterface.cs
2025-11-03 10:15:18 +03:00

44 lines
1.1 KiB
C#

using Content.Shared.Thief;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Client.UserInterface;
namespace Content.Client.Thief;
[UsedImplicitly]
public sealed class ThiefBackpackBoundUserInterface : BoundUserInterface
{
private ThiefBackpackMenu? _window;
public ThiefBackpackBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey) { }
protected override void Open()
{
base.Open();
_window = this.CreateWindow<ThiefBackpackMenu>();
_window.OnApprove += SendApprove;
_window.OnSetChange += SendChangeSelected;
}
protected override void UpdateState(BoundUserInterfaceState state)
{
base.UpdateState(state);
if (state is not ThiefBackpackBoundUserInterfaceState current)
return;
_window?.UpdateState(current);
}
public void SendChangeSelected(int setNumber)
{
SendMessage(new ThiefBackpackChangeSetMessage(setNumber));
}
public void SendApprove()
{
SendMessage(new ThiefBackpackApproveMessage());
}
}