using Content.Shared.Atmos;
using Robust.Shared.Map;
namespace Content.Server.Atmos.EntitySystems
{
/* doesn't seem to be a use for this at the moment, so it's disabled
public sealed class AtmosExposedSystem : EntitySystem
{}
*/
[ByRefEvent]
public readonly struct AtmosExposedUpdateEvent
{
public readonly EntityCoordinates Coordinates;
public readonly GasMixture GasMixture;
public readonly TransformComponent Transform;
public AtmosExposedUpdateEvent(EntityCoordinates coordinates, GasMixture mixture, TransformComponent transform)
{
Coordinates = coordinates;
GasMixture = mixture;
Transform = transform;
}
}
///
/// Event that tries to query the mixture a certain entity is exposed to.
/// This is mainly intended for use with entities inside of containers.
/// This event is not raised for entities that are directly parented to the grid.
///
[ByRefEvent]
public struct AtmosExposedGetAirEvent
{
///
/// The entity we want to query this for.
///
public readonly Entity Entity;
///
/// The mixture that the entity is exposed to. Output parameter.
///
public GasMixture? Gas = null;
///
/// Whether to excite the mixture, if possible.
///
public readonly bool Excite = false;
///
/// Whether this event has been handled or not.
/// Check this before changing anything.
///
public bool Handled = false;
public AtmosExposedGetAirEvent(Entity entity, bool excite = false)
{
Entity = entity;
Excite = excite;
}
}
}