64 lines
1.8 KiB
C#
64 lines
1.8 KiB
C#
using System;
|
|
|
|
namespace Questionable.Controller.Steps.Common;
|
|
|
|
internal abstract class AbstractDelayedTaskExecutor<T> : TaskExecutor<T> 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;
|
|
}
|
|
}
|