using Content.Shared.Guidebook;
using Robust.Shared.GameStates;
using Content.Shared.Atmos.Piping.Binary.Components; // Frontier
namespace Content.Shared.Atmos.Components;
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)]
public sealed partial class GasPressurePumpComponent : Component
{
[DataField, AutoNetworkedField]
public bool Enabled = true;
[DataField("inlet"), AutoNetworkedField] // Frontier: add AutoNetworkedField
public string InletName = "inlet";
[DataField("outlet"), AutoNetworkedField] // Frontier: add AutoNetworkedField
public string OutletName = "outlet";
[DataField, AutoNetworkedField]
public float TargetPressure = Atmospherics.OneAtmosphere;
///
/// Max pressure of the target gas (NOT relative to source).
///
[DataField]
[GuidebookData]
public float MaxTargetPressure = Atmospherics.MaxOutputPressure;
///
/// Frontier - Start the pump with the map.
///
[DataField]
public bool StartOnMapInit { get; set; }
///
/// Frontier - UI key to open
///
[DataField]
public GasPressurePumpUiKey UiKey = GasPressurePumpUiKey.Key;
///
/// Frontier - if true, the pump can have its direction changed (bidirectional pump)
///
[DataField]
public bool SettableDirection { get; private set; }
///
/// Frontier - if true, the pump is currently pumping inwards
///
[DataField, AutoNetworkedField]
public bool PumpingInwards { get; set; }
}