先修复一下,错误的场景 删除不必要的钓场资产 修复into场景 update:更新meta文件,修复报错 update:修复资源 修复第一章节建造 修复建造第三章 update:删除多余内容 update:更新README.md update:还原图标 update:更新README update:更新配置
47 lines
1017 B
C#
47 lines
1017 B
C#
using System;
|
|
using System.Threading;
|
|
|
|
namespace UniRx
|
|
{
|
|
public sealed class ScheduledDisposable : ICancelable
|
|
{
|
|
private readonly IScheduler scheduler;
|
|
private volatile IDisposable disposable;
|
|
private int isDisposed = 0;
|
|
|
|
public ScheduledDisposable(IScheduler scheduler, IDisposable disposable)
|
|
{
|
|
this.scheduler = scheduler;
|
|
this.disposable = disposable;
|
|
}
|
|
|
|
public IScheduler Scheduler
|
|
{
|
|
get { return scheduler; }
|
|
}
|
|
|
|
public IDisposable Disposable
|
|
{
|
|
get { return disposable; }
|
|
}
|
|
|
|
public bool IsDisposed
|
|
{
|
|
get { return isDisposed != 0; }
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
Scheduler.Schedule(DisposeInner);
|
|
}
|
|
|
|
private void DisposeInner()
|
|
{
|
|
if (Interlocked.Increment(ref isDisposed) == 1)
|
|
{
|
|
disposable.Dispose();
|
|
}
|
|
}
|
|
}
|
|
}
|