Fluid spread refactor (#11908)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Fix undefined
This commit is contained in:
45
Content.Client/Fluids/PuddleDebugOverlaySystem.cs
Normal file
45
Content.Client/Fluids/PuddleDebugOverlaySystem.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user