1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
private Subject<float> _uniTaskTrigger;

private void Awake()
{
_uniTaskTrigger= new Subject<float>();
}
private async UniTaskVoid SomeAsyncMethod()
{
float t = 0;
float duration = 1;
while (t < duration)
{
var deltaTime = await _uniTaskTrigger.FirstAsync();
t += deltaTime;
Debug.Log(t);
}
}

private void ManualUpdate(float deltaTime){
_uniTaskTrigger.OnNext(deltaTime);
}
private void OnDestroy()
{
_uniTaskTrigger.Dispose();
}