SharedPuddleDebugOverlaySystem.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using Content.Shared.FixedPoint;
  2. using Robust.Shared.Serialization;
  3. namespace Content.Shared.Fluids;
  4. public abstract class SharedPuddleDebugOverlaySystem : EntitySystem
  5. {
  6. protected const float LocalViewRange = 16;
  7. protected TimeSpan? NextTick = null;
  8. protected TimeSpan Cooldown = TimeSpan.FromSeconds(0.5f);
  9. }
  10. /// <summary>
  11. /// Message for disable puddle overlay
  12. /// </summary>
  13. [Serializable, NetSerializable]
  14. public sealed class PuddleOverlayDisableMessage : EntityEventArgs
  15. {
  16. }
  17. /// <summary>
  18. /// Message for puddle overlay display data
  19. /// </summary>
  20. [Serializable, NetSerializable]
  21. public sealed class PuddleOverlayDebugMessage : EntityEventArgs
  22. {
  23. public PuddleDebugOverlayData[] OverlayData { get; }
  24. public NetEntity GridUid { get; }
  25. public PuddleOverlayDebugMessage(NetEntity gridUid, PuddleDebugOverlayData[] overlayData)
  26. {
  27. GridUid = gridUid;
  28. OverlayData = overlayData;
  29. }
  30. }
  31. [Serializable, NetSerializable]
  32. public readonly struct PuddleDebugOverlayData
  33. {
  34. public readonly Vector2i Pos;
  35. public readonly FixedPoint2 CurrentVolume;
  36. public PuddleDebugOverlayData(Vector2i pos, FixedPoint2 currentVolume)
  37. {
  38. CurrentVolume = currentVolume;
  39. Pos = pos;
  40. }
  41. }