UniRx 에셋 추가

This commit is contained in:
Mingu Kim
2025-06-02 00:27:36 +09:00
parent 915f292d7d
commit 8a54d47b56
510 changed files with 42973 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
namespace UniRx.Operators
{
internal class SubscribeOnObservable<T> : OperatorObservableBase<T>
{
readonly IObservable<T> source;
readonly IScheduler scheduler;
public SubscribeOnObservable(IObservable<T> source, IScheduler scheduler)
: base(scheduler == Scheduler.CurrentThread || source.IsRequiredSubscribeOnCurrentThread())
{
this.source = source;
this.scheduler = scheduler;
}
protected override IDisposable SubscribeCore(IObserver<T> observer, IDisposable cancel)
{
var m = new SingleAssignmentDisposable();
var d = new SerialDisposable();
d.Disposable = m;
m.Disposable = scheduler.Schedule(() =>
{
d.Disposable = new ScheduledDisposable(scheduler, source.Subscribe(observer));
});
return d;
}
}
}