using Content.Shared.Destructible.Thresholds;
using Content.Shared.EntityTable.EntitySelectors;
namespace Content.Server.StationEvents.Components;
[RegisterComponent, Access(typeof(BasicStationEventSchedulerSystem))]
public sealed partial class BasicStationEventSchedulerComponent : Component
{
///
/// How long the the scheduler waits to begin starting rules.
///
[DataField]
public float MinimumTimeUntilFirstEvent = 200;
///
/// The minimum and maximum time between rule starts in seconds.
///
[DataField]
public MinMax MinMaxEventTiming = new(3 * 60, 10 * 60);
///
/// How long until the next check for an event runs, is initially set based on MinimumTimeUntilFirstEvent & MinMaxEventTiming.
///
[DataField]
public float TimeUntilNextEvent;
///
/// The gamerules that the scheduler can choose from
///
/// Reminder that though we could do all selection via the EntityTableSelector, we also need to consider various restrictions.
/// As such, we want to pass a list of acceptable game rules, which are then parsed for restrictions by the .
[DataField(required: true)]
public EntityTableSelector ScheduledGameRules = default!;
}