CatStation/Content.Client/Fluids/PuddleDebugOverlaySystem.cs
Pieter-Jan Briers 5168b5f3d4
IoC source gen compatibility (#43863)
* IoC source gen compatibility

Can be merged before or after https://github.com/space-wizards/RobustToolbox/pull/6549 doesn't really matter.

* Missed a spot
2026-05-09 03:29:58 +00:00

45 lines
1.3 KiB
C#

using System.Collections;
using Content.Shared.Fluids;
using Robust.Client.Graphics;
namespace Content.Client.Fluids;
public sealed partial class PuddleDebugOverlaySystem : SharedPuddleDebugOverlaySystem
{
[Dependency] private IOverlayManager _overlayManager = default!;
public readonly Dictionary<EntityUid, PuddleOverlayDebugMessage> TileData = new();
private PuddleOverlay? _overlay;
public override void Initialize()
{
base.Initialize();
SubscribeNetworkEvent<PuddleOverlayDisableMessage>(DisableOverlay);
SubscribeNetworkEvent<PuddleOverlayDebugMessage>(RenderDebugData);
}
private void RenderDebugData(PuddleOverlayDebugMessage message)
{
TileData[GetEntity(message.GridUid)] = message;
if (_overlay != null)
return;
_overlay = new PuddleOverlay();
_overlayManager.AddOverlay(_overlay);
}
private void DisableOverlay(PuddleOverlayDisableMessage message)
{
TileData.Clear();
if (_overlay == null)
return;
_overlayManager.RemoveOverlay(_overlay);
_overlay = null;
}
public PuddleDebugOverlayData[] GetData(EntityUid mapGridGridEntityId)
{
return TileData[mapGridGridEntityId].OverlayData;
}
}