using System; namespace Questionable.Controller.Steps.Common; internal abstract class AbstractDelayedTaskExecutor : TaskExecutor where T : class, ITask { private long _continueAtMs; protected TimeSpan Delay { get; set; } protected AbstractDelayedTaskExecutor() : this(TimeSpan.FromSeconds(5L)) { } protected AbstractDelayedTaskExecutor(TimeSpan delay) { Delay = delay; } protected sealed override bool Start() { bool result = StartInternal(); _continueAtMs = _200D_206E_200D_200E_202D_202A_206F_202D_200D_206F_206D_202E_202D_202C_200B_200B_206E_200D_202B_206A_200C_200C_202E_206F_206D_200B_200D_206A_200E_202D_200B_200D_202D_202E_206D_200E_202C_206F_200C_202C_202E() + (long)Delay.TotalMilliseconds; return result; } protected abstract bool StartInternal(); public override ETaskResult Update() { int num = ((_200D_206E_200D_200E_202D_202A_206F_202D_200D_206F_206D_202E_202D_202C_200B_200B_206E_200D_202B_206A_200C_200C_202E_206F_206D_200B_200D_206A_200E_202D_200B_200D_202D_202E_206D_200E_202C_206F_200C_202C_202E() >= _continueAtMs) ? 741757895 : 741757892); while (true) { int num2 = num; int num3 = 741757894; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004d; case 1: return UpdateInternal(); case 2: return ETaskResult.StillRunning; } continue; IL_004d: num = 741757892; } } protected virtual ETaskResult UpdateInternal() { return ETaskResult.TaskComplete; } static long _200D_206E_200D_200E_202D_202A_206F_202D_200D_206F_206D_202E_202D_202C_200B_200B_206E_200D_202B_206A_200C_200C_202E_206F_206D_200B_200D_206A_200E_202D_200B_200D_202D_202E_206D_200E_202C_206F_200C_202C_202E() { return Environment.TickCount64; } }