using Content.Shared.Inventory;
namespace Content.Shared.Temperature;
///
/// This event is raised before heat is exchanged so that the conductance of the exchange can be changed.
///
[ByRefEvent]
public record struct BeforeHeatExchangeEvent() : IInventoryRelayEvent
{
public SlotFlags TargetSlots { get; } = ~SlotFlags.POCKET;
///
/// A multiplicative modifier for heat transfers on the entity this event is being raised to.
///
public float HeatTransferModifier = 1f;
}
///
/// This event is raised after heat is exchanged to inform other systems that temperature has changed.
///
/// Current temperature of this entity.
/// Previous temperature of this entity.
[ByRefEvent]
public record struct TemperatureChangedEvent(float CurrentTemperature, float LastTemperature)
{
public readonly float CurrentTemperature = CurrentTemperature;
public readonly float LastTemperature = LastTemperature;
public readonly float TemperatureDelta = CurrentTemperature - LastTemperature;
}