public UniTask Execute(ILifeTime lifeTime) { connector.Broadcast(this). AddTo(lifeTime); lifeTime.AddCleanUpAction(() => handler.Cancel()); return(UniTask.CompletedTask); }
private void CleanUp() { routineHandler.Cancel(); status.Release(); status.Value = AsyncOperationStatus.None; progress.Release(); progress.Value = 0; isReady.Release(); isReady.Value = false; reference = null; value.Release(); }
public void Execute(ILifeTime lifeTime) { connector.Broadcast(this). AddTo(lifeTime); lifeTime.AddCleanUpAction(() => handler.Cancel()); }