public static IEnumerator <RoutineHandle> GetEnumerator(this RoutineHandle handle) { while (handle.IsActive()) { yield return(handle); } }
public static async UniTask ToUniTask( this RoutineHandle handle, PlayerLoopTiming timing = PlayerLoopTiming.Update, CancellationToken cancellationToken = default) { await UniTask.WaitWhile(() => handle.IsActive(), timing, cancellationToken); }
public static IEnumerator GetAwaiter(this RoutineHandle handle) { while (handle.IsActive()) { yield return(null); } }
public IDisposable Subscribe(IObserver <TApi> observer) { if (!ValidateReference()) { value.Value = default; return(Disposable.Empty); } var disposableValue = value. Subscribe(observer); routineHandler = LoadReference(lifeTimeDefinition). Execute(). AddTo(lifeTimeDefinition); return(disposableValue); }
public void Publish <T>(T message) { handler = OnPublish(message).Execute(); }
public bool Equals(RoutineHandle obj) => Id == obj.Id;