using Content.Shared.FixedPoint; using Robust.Shared.Serialization; namespace Content.Shared.Fluids; public abstract class SharedPuddleDebugOverlaySystem : EntitySystem { protected const float LocalViewRange = 16; protected TimeSpan? NextTick = null; protected TimeSpan Cooldown = TimeSpan.FromSeconds(0.5f); } /// /// Message for disable puddle overlay /// [Serializable, NetSerializable] public sealed class PuddleOverlayDisableMessage : EntityEventArgs { } /// /// Message for puddle overlay display data /// [Serializable, NetSerializable] public sealed class PuddleOverlayDebugMessage : EntityEventArgs { public PuddleDebugOverlayData[] OverlayData { get; } public NetEntity GridUid { get; } public PuddleOverlayDebugMessage(NetEntity gridUid, PuddleDebugOverlayData[] overlayData) { GridUid = gridUid; OverlayData = overlayData; } } [Serializable, NetSerializable] public readonly struct PuddleDebugOverlayData { public readonly Vector2i Pos; public readonly FixedPoint2 CurrentVolume; public PuddleDebugOverlayData(Vector2i pos, FixedPoint2 currentVolume) { CurrentVolume = currentVolume; Pos = pos; } }