Files
tbd-station-14/Content.Client/Mech/Ui/Equipment/MechSoundboardUi.cs
deltanedas bc101e1fb5 H.O.N.K. mech (#14670)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-05-05 23:21:13 +10:00

37 lines
970 B
C#

using Content.Client.UserInterface.Fragments;
using Content.Shared.Mech;
using Robust.Client.GameObjects;
using Robust.Client.UserInterface;
namespace Content.Client.Mech.Ui.Equipment;
public sealed class MechSoundboardUi : UIFragment
{
private MechSoundboardUiFragment? _fragment;
public override Control GetUIFragmentRoot()
{
return _fragment!;
}
public override void Setup(BoundUserInterface userInterface, EntityUid? fragmentOwner)
{
if (fragmentOwner == null)
return;
_fragment = new MechSoundboardUiFragment();
_fragment.OnPlayAction += sound =>
{
userInterface.SendMessage(new MechSoundboardPlayMessage(fragmentOwner.Value, sound));
};
}
public override void UpdateState(BoundUserInterfaceState state)
{
if (state is not MechSoundboardUiState soundboardState)
return;
_fragment?.UpdateContents(soundboardState);
}
}