CatStation/Content.Shared/Temperature/Components/EntityHeaterComponent.cs
Princess Cheeseballs 2e9c4c0103
IHeatContainers for TemperatureComponent (#42785)
* Hope I'm not forgetting anything...

* They call me the sender the way I'm sending it.

* remove commented out YAML

* last of the slop

* fix test fails

* first batch of test fails

* no more test fails

* make cryo pods work again.

* Make cryo work better-er

* I didn't like that a firesuit helmet was so effective on its own so I decided to be a dick about it.

* review.com

* oop

* actually real quick do this

* fix YAML issues

* IHeatContainer my beloved <3

* borger

* not networked :(

* jackets

* burgeewqjfrwjkhaskfjfsahjkfsahjkfsahjkfsajhkfsa

* utter yaml nonsense

* phishing

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-07-26 07:56:44 +00:00

32 lines
1 KiB
C#

using Content.Shared.Temperature.Systems;
using Robust.Shared.Audio;
using Robust.Shared.GameStates;
namespace Content.Shared.Temperature.Components;
/// <summary>
/// Adds thermal energy to entities with <see cref="TemperatureComponent"/> placed on it.
/// </summary>
[RegisterComponent, Access(typeof(SharedEntityHeaterSystem))]
[NetworkedComponent, AutoGenerateComponentState]
public sealed partial class EntityHeaterComponent : Component
{
/// <summary>
/// Power used when heating at the high setting.
/// Low and medium are 33% and 66% respectively.
/// </summary>
[DataField]
public float Power = 12000f;
/// <summary>
/// Current setting of the heater. If it is off or unpowered it won't heat anything.
/// </summary>
[DataField, AutoNetworkedField]
public EntityHeaterSetting Setting = EntityHeaterSetting.Off;
/// <summary>
/// An optional sound that plays when the setting is changed.
/// </summary>
[DataField]
public SoundPathSpecifier? SettingSound;
}