Unity Task.Delay и Time.TimeScale = 0

Написал вот такой вот компонент. Работает, все хорошо. Возник вопрос: а если я допустим поставлю игру на паузу (т.е. сделаю Time.TimeScale = 0). Будет ли задержка таска адаптироваться под это значение? Я думаю, что нет, потому что, с чего бы ей это делать просто так. Вот и собственно вопрос, как это сделать?

public class DelayedAction : MonoBehaviour, IExecutable
{
    [SerializeField] private DelayedActionData _data;
    [SerializeField] private IExecutable _action;
    private CancellationTokenSource _tokenSource;


    public void Skip()
    {
        if (_tokenSource == null) return;
        Cancel();
        _action?.Execute();
    }

    public void Execute()
    {
        Assert.IsNotNull(_data, "Delay data is null!");
        Cancel();
        _tokenSource = new CancellationTokenSource();
        ExecuteAfterDelay();
    }

    public void Cancel()
    {
        _tokenSource?.Cancel();
        _tokenSource?.Dispose();
        _tokenSource = null;
    }

    private async Task ExecuteAfterDelay()
    {
        await Task.Delay(TimeSpan.FromSeconds(_data.Delay), _tokenSource.Token);
        _action?.Execute();
        Cancel();
    }
}

Ответы (0 шт):