Add prediction to electric grills (#36241)

* Prediction for EntityHeaterSystem

* Switch to Entity<T>

* meh

* Move popup inside ChangeSetting

* Fix grill visually turning on when changing setting while power is off

* Add note about my failed quest

* Why isn't this an IDE warning?

* Move comment above switch expression in SettingPower
This commit is contained in:
Tayrtahn
2025-04-01 12:43:19 -04:00
committed by GitHub
parent 3c24f21607
commit c8fe3651e5
4 changed files with 132 additions and 82 deletions

View File

@@ -0,0 +1,32 @@
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 = 2400f;
/// <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;
}