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