using Robust.Shared.GameStates;
namespace Content.Shared.PowerCell.Components;
///
/// Indicates that the entity's ActivatableUI requires power or else it closes.
///
///
/// With ActivatableUI it will activate and deactivate when the ui is opened and closed, drawing power inbetween.
///
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
[Access(typeof(PowerCellSystem))]
public sealed partial class PowerCellDrawComponent : Component
{
///
/// Whether drawing is enabled.
/// Having no cell will still disable it.
///
[DataField, AutoNetworkedField, ViewVariables]
public bool Enabled = true;
///
/// How much the entity draws while the UI is open (in Watts).
/// Set to 0 if you just wish to check for power upon opening the UI.
///
[DataField, AutoNetworkedField, ViewVariables]
public float DrawRate = 1f;
///
/// How much power is used whenever the entity is "used" (in Joules).
/// This is used to ensure the UI won't open again without a minimum use power.
///
[DataField, AutoNetworkedField]
public float UseCharge;
}