Files
tbd-station-14/Content.Client/Pinpointer/UI/StationMapBoundUserInterface.cs
TGRCDev d32c42f754 Added a directory to station maps (#31156)
* Added directory to station maps

* Add null checks to map directory sorting/filtering

* Reworked station map directory to be more readable and responsive
2024-09-21 09:33:22 +02:00

40 lines
1.1 KiB
C#

using Content.Shared.Pinpointer;
using Robust.Client.UserInterface;
namespace Content.Client.Pinpointer.UI;
public sealed class StationMapBoundUserInterface : BoundUserInterface
{
[ViewVariables]
private StationMapWindow? _window;
public StationMapBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
{
}
protected override void Open()
{
base.Open();
EntityUid? gridUid = null;
if (EntMan.TryGetComponent<TransformComponent>(Owner, out var xform))
{
gridUid = xform.GridUid;
}
_window = this.CreateWindow<StationMapWindow>();
_window.Title = EntMan.GetComponent<MetaDataComponent>(Owner).EntityName;
string stationName = string.Empty;
if(EntMan.TryGetComponent<MetaDataComponent>(gridUid, out var gridMetaData))
{
stationName = gridMetaData.EntityName;
}
if (EntMan.TryGetComponent<StationMapComponent>(Owner, out var comp) && comp.ShowLocation)
_window.Set(stationName, gridUid, Owner);
else
_window.Set(stationName, gridUid, null);
}
}