Files
tbd-station-14/Content.Client/Arcade/UI/SpaceVillainArcadeBoundUserInterface.cs
2024-07-26 10:30:49 -07:00

37 lines
1.0 KiB
C#

using Robust.Client.GameObjects;
using Robust.Client.UserInterface;
using Robust.Shared.GameObjects;
using Robust.Shared.ViewVariables;
using static Content.Shared.Arcade.SharedSpaceVillainArcadeComponent;
namespace Content.Client.Arcade.UI;
public sealed class SpaceVillainArcadeBoundUserInterface : BoundUserInterface
{
[ViewVariables] private SpaceVillainArcadeMenu? _menu;
public SpaceVillainArcadeBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
{
SendAction(PlayerAction.RequestData);
}
public void SendAction(PlayerAction action)
{
SendMessage(new SpaceVillainArcadePlayerActionMessage(action));
}
protected override void Open()
{
base.Open();
_menu = this.CreateWindow<SpaceVillainArcadeMenu>();
_menu.OnPlayerAction += SendAction;
}
protected override void ReceiveMessage(BoundUserInterfaceMessage message)
{
if (message is SpaceVillainArcadeDataUpdateMessage msg)
_menu?.UpdateInfo(msg);
}
}