using Robust.Shared.Map;
using Robust.Shared.Map.Components;
using Content.Shared.Singularity.Components;
namespace Content.Server.Singularity.Events;
///
/// Event raised on the event horizon entity whenever an event horizon consumes an entity.
///
[ByRefEvent]
public readonly record struct TilesConsumedByEventHorizonEvent
(IReadOnlyList<(Vector2i, Tile)> tiles, EntityUid mapGridUid, MapGridComponent mapGrid, EntityUid eventHorizonUid, EventHorizonComponent eventHorizon)
{
///
/// The tiles that the event horizon is consuming.
/// Ripped directly from the relevant proc so the second element of each element will be what the tiles are going to be after the grid is updated; usually .
///
public readonly IReadOnlyList<(Vector2i, Tile)> Tiles = tiles;
///
/// The uid of the map grid the event horizon is consuming part of.
///
public readonly EntityUid MapGridUid = mapGridUid;
///
/// The mapgrid that the event horizon is consuming tiles of.
///
public readonly MapGridComponent MapGrid = mapGrid;
///
/// The uid of the event horizon consuming the entity.
///
public readonly EntityUid EventHorizonUid = eventHorizonUid;
///
/// The event horizon consuming the tiles.
///
public readonly EventHorizonComponent EventHorizon = eventHorizon;
}