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