using System.Diagnostics.CodeAnalysis; using SideScrollerGame.Sim.Verification; namespace SideScrollerGame.Sim; [ExcludeFromCodeCoverage] public sealed record SimulationConfig { public SimulationConfig(int ticksPerSecond, VerificationMode verificationMode) { if (ticksPerSecond <= 0) throw new ArgumentOutOfRangeException(nameof(ticksPerSecond)); TicksPerSecond = ticksPerSecond; VerificationMode = verificationMode; } public int TicksPerSecond { get; init; } public VerificationMode VerificationMode { get; init; } public static SimulationConfig Default { get; } = new(SimulationDefaults.DefaultTicksPerSecond, VerificationMode.None); }