namespace Content.Shared.Power;
///
/// Raised when a battery's charge or capacity changes (capacity affects relative charge percentage).
///
[ByRefEvent]
public readonly record struct ChargeChangedEvent(float Charge, float MaxCharge);
///
/// Raised when it is necessary to get information about battery charges.
///
[ByRefEvent]
public sealed class GetChargeEvent : EntityEventArgs
{
public float CurrentCharge;
public float MaxCharge;
}
///
/// Raised when it is necessary to change the current battery charge to a some value.
///
[ByRefEvent]
public sealed class ChangeChargeEvent : EntityEventArgs
{
public float OriginalValue;
public float ResidualValue;
public ChangeChargeEvent(float value)
{
OriginalValue = value;
ResidualValue = value;
}
}