using Content.Shared.PowerCell.Components; using Robust.Shared.GameStates; using Robust.Shared.Serialization; namespace Content.Shared.Power.Components; /// /// Marker component that makes an entity with update its appearance data for use with visualizers. /// Also works with an entity with and will relay the state of the inserted powercell. /// [RegisterComponent, NetworkedComponent] public sealed partial class PredictedBatteryVisualsComponent : Component; /// /// Keys for the appearance data. /// [Serializable, NetSerializable] public enum BatteryVisuals : byte { /// /// The current charge state of the battery. /// Either full, empty, or neither. /// Uses a . /// State, /// /// Is the battery currently charging or discharging? /// Uses a . /// Charging, } /// /// Charge level status of the battery. /// [Serializable, NetSerializable] public enum BatteryChargingState : byte { /// /// PredictedBatteryComponent.ChargeRate > 0 /// Charging, /// /// PredictedBatteryComponent.ChargeRate < 0 /// Decharging, /// /// PredictedBatteryComponent.ChargeRate == 0 /// Constant, }