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