namespace Content.Server._NF.Solar.Components;
///
/// Represents a grid that's outputting solar power.
/// Stores tracking information, power generation stats, and bookkeeping info for solar power.
///
[RegisterComponent]
public sealed partial class SolarPoweredGridComponent : Component
{
///
/// The angle that panels on the grid should rotate towards.
///
[DataField]
public Angle TargetPanelRotation = Angle.Zero;
///
/// The angle that the target rotation rotates in a second.
///
[DataField]
public Angle TargetPanelVelocity = Angle.Zero;
///
/// The total solar power, in watts, being generated by this grid.
///
[DataField]
public float TotalPanelPower = 0;
///
/// The last tick that the solar power generation info was changed on this grid.
/// Used to cull power generation info from grids that are no longer generating solar power.
///
[DataField]
public uint LastUpdatedTick = 0;
///
/// If true, will initialize to the angle and velocity of the sun.
/// Useful to keep POIs running where players might not touch the solars.
///
[DataField]
public bool TrackOnInit;
///
/// If true, this component will not be culled.
/// Again, useful for POIs where tracking is expected.
///
[DataField]
public bool DoNotCull;
}