using System.Threading;
namespace Content.Server.GameTicking.Rules.Components;
///
/// Gamerule that ends the round after a period of inactivity.
///
[RegisterComponent, Access(typeof(InactivityTimeRestartRuleSystem))]
public sealed partial class InactivityRuleComponent : Component
{
///
/// How long the round must be inactive to restart
///
[DataField("inactivityMaxTime", required: true)]
public TimeSpan InactivityMaxTime = TimeSpan.FromMinutes(10);
///
/// The delay between announcing round end and the lobby.
///
[DataField("roundEndDelay", required: true)]
public TimeSpan RoundEndDelay = TimeSpan.FromSeconds(10);
public CancellationTokenSource TimerCancel = new();
}