| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- using Content.Server.Power.EntitySystems;
- using Content.Shared.Guidebook;
- namespace Content.Server.Power.Components
- {
- /// <summary>
- /// Battery node on the pow3r network. Needs other components to connect to actual networks.
- /// </summary>
- [RegisterComponent]
- [Virtual]
- [Access(typeof(BatterySystem))]
- public partial class BatteryComponent : Component
- {
- public string SolutionName = "battery";
- /// <summary>
- /// Maximum charge of the battery in joules (ie. watt seconds)
- /// </summary>
- [DataField]
- [GuidebookData]
- public float MaxCharge;
- /// <summary>
- /// Current charge of the battery in joules (ie. watt seconds)
- /// </summary>
- [DataField("startingCharge")]
- public float CurrentCharge;
- /// <summary>
- /// The price per one joule. Default is 1 credit for 10kJ.
- /// </summary>
- [DataField]
- public float PricePerJoule = 0.0001f;
- }
- /// <summary>
- /// Raised when a battery's charge or capacity changes (capacity affects relative charge percentage).
- /// </summary>
- [ByRefEvent]
- public readonly record struct ChargeChangedEvent(float Charge, float MaxCharge);
- }
|