using Content.Shared.Weapons.Ranged.Systems;
using Robust.Shared.GameStates;
namespace Content.Shared.Weapons.Ranged.Components;
///
/// Allows GunSystem to automatically fire while this component is enabled
///
[RegisterComponent, NetworkedComponent, Access(typeof(SharedGunSystem)), AutoGenerateComponentState]
public sealed partial class AutoShootGunComponent : Component
{
[DataField, ViewVariables(VVAccess.ReadWrite), AutoNetworkedField]
public bool Enabled;
///
/// Frontier - Whether the gun is switched on (e.g. through user interaction)
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public bool On { get; set; } = true;
///
/// Frontier - Whether or not the gun can actually fire (i.e. switched on and receiving power if needed)
///
[ViewVariables(VVAccess.ReadWrite)]
public bool CanFire;
///
/// Frontier - Amount of power this gun needs from an APC in Watts to function.
///
public float OriginalLoad { get; set; } = 0;
}