using SPTInstaller.CustomControls; using SPTInstaller.Models; using System.Threading.Tasks; namespace SPTInstaller.Installer_Tasks.PreChecks; public class TestPreCheck : PreCheckBase { private StatusSpinner.SpinnerState _endState; public static TestPreCheck FromRandomName(StatusSpinner.SpinnerState EndState) => new TestPreCheck( $"{EndState} #{new Random().Next(0, 9999)}", EndState == StatusSpinner.SpinnerState.Error, EndState); public TestPreCheck(string name, bool isRequired, StatusSpinner.SpinnerState endState) : base(name, isRequired) { _endState = endState; } public override async Task CheckOperation() { await Task.Delay(1000); switch (_endState) { case StatusSpinner.SpinnerState.Error: return PreCheckResult.FromError("This is what a required precheck failing looks like"); case StatusSpinner.SpinnerState.Warning: return PreCheckResult.FromError("This is what a non-required precheck failing looks like"); default: return PreCheckResult.FromSuccess("This is what a successful precheck looks like"); } } }