Files
tbd-station-14/Content.Client/Fluids/PuddleDebugOverlaySystem.cs
Ygg01 75ea093d78 Fluid spread refactor (#11908)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Fix undefined
2022-11-15 22:30:59 +11:00

46 lines
1.2 KiB
C#

using System.Collections;
using Content.Shared.Fluids;
using Robust.Client.Graphics;
namespace Content.Client.Fluids;
public sealed class PuddleDebugOverlaySystem : SharedPuddleDebugOverlaySystem
{
[Dependency] private readonly 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[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;
}
}