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