using Content.Shared.Power.EntitySystems;
namespace Content.Shared.Power.Components;
///
/// Generic component for giving entities "idle" and "working" power states.
///
/// Entities that have more complex power draw
/// (ex. a thermomachine whose heating power is directly tied to its power consumption)
/// should just directly set their load on the .
///
/// This is also applicable if you would like to add
/// more complex power behavior that is tied to a generic component.
[RegisterComponent]
[Access(typeof(SharedPowerStateSystem))]
public sealed partial class PowerStateComponent : Component
{
///
/// Whether the entity is currently in the working state.
///
[DataField]
public bool IsWorking;
///
/// The idle power draw of this entity when not working, in watts.
///
[DataField]
public float IdlePowerDraw = 20f;
///
/// The working power draw of this entity when working, in watts.
///
[DataField]
public float WorkingPowerDraw = 350f;
///
/// Needs to ensure ApcPowerReceiverComponent is attached to entity on startup.
/// Entities which work with PowerConsumerComponent do not need that.
///
[DataField]
public bool EnsureApc = true;
}