Files
tbd-station-14/Content.Client/Mech/Ui/Equipment/MechGrabberUi.cs
2023-09-11 09:42:41 +10:00

39 lines
1.0 KiB
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 partial class MechGrabberUi : UIFragment
{
private MechGrabberUiFragment? _fragment;
public override Control GetUIFragmentRoot()
{
return _fragment!;
}
public override void Setup(BoundUserInterface userInterface, EntityUid? fragmentOwner)
{
if (fragmentOwner == null)
return;
_fragment = new MechGrabberUiFragment();
_fragment.OnEjectAction += e =>
{
var entManager = IoCManager.Resolve<IEntityManager>();
userInterface.SendMessage(new MechGrabberEjectMessage(entManager.GetNetEntity(fragmentOwner.Value), entManager.GetNetEntity(e)));
};
}
public override void UpdateState(BoundUserInterfaceState state)
{
if (state is not MechGrabberUiState grabberState)
return;
_fragment?.UpdateContents(grabberState);
}
}