using Content.Shared.Power;
using Robust.Shared.GameStates;
namespace Content.Shared.Gravity;
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class GravityGeneratorComponent : Component
{
[DataField] public float LightRadiusMin { get; set; }
[DataField] public float LightRadiusMax { get; set; }
///
/// A map of the sprites used by the gravity generator given its status.
///
[DataField, Access(typeof(SharedGravitySystem))]
public Dictionary SpriteMap = [];
///
/// The sprite used by the core of the gravity generator when the gravity generator is starting up.
///
[DataField]
public string CoreStartupState = "startup";
///
/// The sprite used by the core of the gravity generator when the gravity generator is idle.
///
[DataField]
public string CoreIdleState = "idle";
///
/// The sprite used by the core of the gravity generator when the gravity generator is activating.
///
[DataField]
public string CoreActivatingState = "activating";
///
/// The sprite used by the core of the gravity generator when the gravity generator is active.
///
[DataField]
public string CoreActivatedState = "activated";
///
/// Is the gravity generator currently "producing" gravity?
///
[DataField, AutoNetworkedField, Access(typeof(SharedGravityGeneratorSystem))]
public bool GravityActive = false;
}