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