Files
tbd-station-14/Content.Server/CrewManifest/CrewManifestEui.cs
Flipp Syder 3d36a6e1f6 Station records (#8720)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-08-09 15:10:01 +10:00

48 lines
1.2 KiB
C#

using Content.Server.EUI;
using Content.Shared.CrewManifest;
using Content.Shared.Eui;
namespace Content.Server.CrewManifest;
public sealed class CrewManifestEui : BaseEui
{
private readonly CrewManifestSystem _crewManifest;
/// <summary>
/// Station this EUI instance is currently tracking.
/// </summary>
private readonly EntityUid _station;
/// <summary>
/// Current owner of this UI, if it has one. This is
/// to ensure that if a BUI is closed, the EUIs related
/// to the BUI are closed as well.
/// </summary>
public readonly EntityUid? Owner;
public CrewManifestEui(EntityUid station, EntityUid? owner, CrewManifestSystem crewManifestSystem)
{
_station = station;
Owner = owner;
_crewManifest = crewManifestSystem;
}
public override CrewManifestEuiState GetNewState()
{
var (name, entries) = _crewManifest.GetCrewManifest(_station);
return new(name, entries);
}
public override void HandleMessage(EuiMessageBase msg)
{
base.HandleMessage(msg);
switch (msg)
{
case CrewManifestEuiClosed:
_crewManifest.CloseEui(_station, Player, Owner);
break;
}
}
}