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