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(); } |
Direct link: https://paste.plurk.com/show/U3oDaZHffghkQfuVrlIh