备份CatanBuilding瘦身独立工程

This commit is contained in:
JSD\13999
2026-05-26 16:15:54 +08:00
commit 2d0e6a61b7
12001 changed files with 2431925 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;
}
}
}