using Content.Shared.GPS.Components;
using Content.Shared.Examine;
using Robust.Shared.Map;
namespace Content.Shared.GPS.Systems;
public sealed class HandheldGpsSystem : EntitySystem
{
[Dependency] private readonly SharedTransformSystem _transform = default!;
///
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent(OnExamine);
}
///
/// Handles showing the coordinates when a GPS is examined.
///
private void OnExamine(Entity ent, ref ExaminedEvent args)
{
var posText = "Error";
var pos = _transform.GetMapCoordinates(ent);
if (pos.MapId != MapId.Nullspace)
{
var x = (int) pos.Position.X;
var y = (int) pos.Position.Y;
posText = $"({x}, {y})";
}
args.PushMarkup(Loc.GetString("handheld-gps-coordinates-title", ("coordinates", posText)));
}
}