Fluid spread refactor (#11908)

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Fix undefined
This commit is contained in:
Ygg01
2022-11-15 12:30:59 +01:00
committed by GitHub
parent 89b959f931
commit 75ea093d78
17 changed files with 719 additions and 336 deletions

View 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;
}
}