2022-05-12 06:11:50 -05:00
|
|
|
using Robust.Client.GameObjects;
|
2021-02-11 01:13:03 -08:00
|
|
|
using Robust.Shared.GameObjects;
|
2020-05-24 01:47:14 +02:00
|
|
|
|
2021-06-09 22:19:39 +02:00
|
|
|
namespace Content.Client.Markers
|
2020-05-24 01:47:14 +02:00
|
|
|
{
|
|
|
|
|
public sealed class MarkerSystem : EntitySystem
|
|
|
|
|
{
|
|
|
|
|
private bool _markersVisible;
|
|
|
|
|
|
|
|
|
|
public bool MarkersVisible
|
|
|
|
|
{
|
|
|
|
|
get => _markersVisible;
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
_markersVisible = value;
|
|
|
|
|
UpdateMarkers();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2022-05-12 06:11:50 -05:00
|
|
|
public override void Initialize()
|
|
|
|
|
{
|
|
|
|
|
base.Initialize();
|
|
|
|
|
|
|
|
|
|
SubscribeLocalEvent<MarkerComponent, ComponentStartup>(OnStartup);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void OnStartup(EntityUid uid, MarkerComponent marker, ComponentStartup args)
|
|
|
|
|
{
|
|
|
|
|
UpdateVisibility(marker);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void UpdateVisibility(MarkerComponent marker)
|
|
|
|
|
{
|
|
|
|
|
if (EntityManager.TryGetComponent(marker.Owner, out SpriteComponent? sprite))
|
|
|
|
|
{
|
|
|
|
|
sprite.Visible = MarkersVisible;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-05-24 01:47:14 +02:00
|
|
|
private void UpdateMarkers()
|
|
|
|
|
{
|
2021-09-28 13:35:29 +02:00
|
|
|
foreach (var markerComponent in EntityManager.EntityQuery<MarkerComponent>(true))
|
2020-05-24 01:47:14 +02:00
|
|
|
{
|
2022-05-12 06:11:50 -05:00
|
|
|
UpdateVisibility(markerComponent);
|
2020-05-24 01:47:14 +02:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|