From 661b4ff53e56bb71c00054dface6e90650332bef Mon Sep 17 00:00:00 2001 From: Yoshifumi Kawai Date: Tue, 21 Aug 2018 04:12:10 +0900 Subject: [PATCH] ready 6.2.1, fix AsyncTrigger --- Assembly-CSharp-Editor.csproj | 2 +- Assembly-CSharp-firstpass-vs.csproj | 2 +- Assembly-CSharp-firstpass.Player.csproj | 2 +- Assembly-CSharp-firstpass.csproj | 2 +- Assembly-CSharp-vs.csproj | 2 +- Assembly-CSharp.Player.csproj | 2 +- Assembly-CSharp.csproj | 2 +- Assets/Plugins/UniRx/ReadMe.txt | 2 +- .../Scripts/Async/Internal/ArrayPoolUtil.cs | 34 +++++++++++------- .../UniRx/Scripts/Async/Internal/ArrayUtil.cs | 21 ++++++----- .../Scripts/Async/Internal/PromiseHelper.cs | 34 ++++++++++++++++++ .../Async/Internal/PromiseHelper.cs.meta | 11 ++++++ .../Scripts/Async/Internal/ReusablePromise.cs | 9 ++++- .../Async/Triggers/AsyncTriggerBase.cs | 35 +++++++++++++++---- .../Scripts/Async/UniTaskCompletionSource.cs | 32 +++++++++++++++-- .../UnityEngineBridge/ReactiveCommand.cs | 16 +++------ .../UnityEngineBridge/ReactiveProperty.cs | 13 +++---- .../ReactivePropertyReusablePromise.cs | 8 ++++- Assets/Scripts/Sandbox/SandboxScene.cs | 12 +++++++ Dlls/UniRx.Library/UniRx.Library.csproj | 3 ++ EditorTests.csproj | 2 +- NewAssembly.csproj | 2 +- Tests/UniRx.Console/Program.cs | 19 ++++++++-- UniRx.Async.Editor.csproj | 2 +- UniRx.Async.Player.csproj | 2 +- UniRx.Async.csproj | 3 +- UniRx.Examples.csproj | 2 +- UniRx.Player.csproj | 2 +- UniRx.Plugins.Player.csproj | 2 +- UniRx.Plugins.csproj | 2 +- UniRx.csproj | 2 +- UnityTests.csproj | 2 +- 32 files changed, 212 insertions(+), 74 deletions(-) create mode 100644 Assets/Plugins/UniRx/Scripts/Async/Internal/PromiseHelper.cs create mode 100644 Assets/Plugins/UniRx/Scripts/Async/Internal/PromiseHelper.cs.meta diff --git a/Assembly-CSharp-Editor.csproj b/Assembly-CSharp-Editor.csproj index 35fcfce6..3576f8e1 100644 --- a/Assembly-CSharp-Editor.csproj +++ b/Assembly-CSharp-Editor.csproj @@ -752,7 +752,7 @@ true C:\Users\neuecc\AppData\Local\Unity\cache\packages\packages.unity.com\com.unity.incrementalcompiler@0.0.42-preview.19\.bin - 62044 + 16970 true \ No newline at end of file diff --git a/Assembly-CSharp-firstpass-vs.csproj b/Assembly-CSharp-firstpass-vs.csproj index db078e53..6b04aa31 100644 --- a/Assembly-CSharp-firstpass-vs.csproj +++ b/Assembly-CSharp-firstpass-vs.csproj @@ -379,7 +379,7 @@ true C:\Users\neuecc\AppData\Local\Unity\cache\packages\packages.unity.com\com.unity.incrementalcompiler@0.0.42-preview.19\.bin - 62044 + 16970 true \ No newline at end of file diff --git a/Assembly-CSharp-firstpass.Player.csproj b/Assembly-CSharp-firstpass.Player.csproj index faf3cb00..2688bd94 100644 --- a/Assembly-CSharp-firstpass.Player.csproj +++ b/Assembly-CSharp-firstpass.Player.csproj @@ -896,7 +896,7 @@ true C:\Users\neuecc\AppData\Local\Unity\cache\packages\packages.unity.com\com.unity.incrementalcompiler@0.0.42-preview.19\.bin - 62044 + 16970 true \ No newline at end of file diff --git a/Assembly-CSharp-firstpass.csproj b/Assembly-CSharp-firstpass.csproj index 8cef8f38..c3efeaaa 100644 --- a/Assembly-CSharp-firstpass.csproj +++ b/Assembly-CSharp-firstpass.csproj @@ -655,7 +655,7 @@ true C:\Users\neuecc\AppData\Local\Unity\cache\packages\packages.unity.com\com.unity.incrementalcompiler@0.0.42-preview.19\.bin - 62044 + 16970 true \ No newline at end of file diff --git a/Assembly-CSharp-vs.csproj b/Assembly-CSharp-vs.csproj index c5f79346..10633df9 100644 --- a/Assembly-CSharp-vs.csproj +++ b/Assembly-CSharp-vs.csproj @@ -83,7 +83,7 @@ true C:\Users\neuecc\AppData\Local\Unity\cache\packages\packages.unity.com\com.unity.incrementalcompiler@0.0.42-preview.19\.bin - 62044 + 16970 true \ No newline at end of file diff --git a/Assembly-CSharp.Player.csproj b/Assembly-CSharp.Player.csproj index 9980c784..f5e23bec 100644 --- a/Assembly-CSharp.Player.csproj +++ b/Assembly-CSharp.Player.csproj @@ -910,7 +910,7 @@ true C:\Users\neuecc\AppData\Local\Unity\cache\packages\packages.unity.com\com.unity.incrementalcompiler@0.0.42-preview.19\.bin - 62044 + 16970 true \ No newline at end of file diff --git a/Assembly-CSharp.csproj b/Assembly-CSharp.csproj index 89b1e6bd..0d762bd1 100644 --- a/Assembly-CSharp.csproj +++ b/Assembly-CSharp.csproj @@ -649,7 +649,7 @@ true C:\Users\neuecc\AppData\Local\Unity\cache\packages\packages.unity.com\com.unity.incrementalcompiler@0.0.42-preview.19\.bin - 62044 + 16970 true \ No newline at end of file diff --git a/Assets/Plugins/UniRx/ReadMe.txt b/Assets/Plugins/UniRx/ReadMe.txt index e42fee38..e7b935bf 100644 --- a/Assets/Plugins/UniRx/ReadMe.txt +++ b/Assets/Plugins/UniRx/ReadMe.txt @@ -1,4 +1,4 @@ -UniRx - Reactive Extensions for Unity / Ver 6.2.0 +UniRx - Reactive Extensions for Unity / Ver 6.2.1 === Created by Yoshifumi Kawai(neuecc) diff --git a/Assets/Plugins/UniRx/Scripts/Async/Internal/ArrayPoolUtil.cs b/Assets/Plugins/UniRx/Scripts/Async/Internal/ArrayPoolUtil.cs index 765ab632..52fb439c 100644 --- a/Assets/Plugins/UniRx/Scripts/Async/Internal/ArrayPoolUtil.cs +++ b/Assets/Plugins/UniRx/Scripts/Async/Internal/ArrayPoolUtil.cs @@ -7,7 +7,7 @@ namespace UniRx.Async.Internal { - internal static class ArrayPoolUtil + public static class ArrayPoolUtil { [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void EnsureCapacity(ref T[] array, int index, ArrayPool pool) @@ -44,6 +44,10 @@ public static RentArray Materialize(IEnumerable source) if (source is ICollection coll) { defaultCount = coll.Count; + var pool = ArrayPool.Shared; + var buffer = pool.Rent(defaultCount); + coll.CopyTo(buffer, 0); + return new RentArray(buffer, coll.Count, pool); } else if (source is IReadOnlyCollection rcoll) { @@ -55,17 +59,19 @@ public static RentArray Materialize(IEnumerable source) return new RentArray(Array.Empty(), 0, null); } - var pool = ArrayPool.Shared; - - var index = 0; - var buffer = pool.Rent(defaultCount); - foreach (var item in source) { - EnsureCapacity(ref buffer, index, pool); - buffer[index++] = item; - } + var pool = ArrayPool.Shared; + + var index = 0; + var buffer = pool.Rent(defaultCount); + foreach (var item in source) + { + EnsureCapacity(ref buffer, index, pool); + buffer[index++] = item; + } - return new RentArray(buffer, index, pool); + return new RentArray(buffer, index, pool); + } } public struct RentArray : IDisposable @@ -82,11 +88,15 @@ public RentArray(T[] array, int length, ArrayPool pool) } public void Dispose() + { + DisposeManually(!RuntimeHelpersAbstraction.IsWellKnownNoReferenceContainsType()); + } + + public void DisposeManually(bool clearArray) { if (pool != null) { - // clear manually(length optimize) - if (!RuntimeHelpersAbstraction.IsWellKnownNoReferenceContainsType()) + if (clearArray) { System.Array.Clear(Array, 0, Length); } diff --git a/Assets/Plugins/UniRx/Scripts/Async/Internal/ArrayUtil.cs b/Assets/Plugins/UniRx/Scripts/Async/Internal/ArrayUtil.cs index db37806b..b0f09a46 100644 --- a/Assets/Plugins/UniRx/Scripts/Async/Internal/ArrayUtil.cs +++ b/Assets/Plugins/UniRx/Scripts/Async/Internal/ArrayUtil.cs @@ -7,7 +7,7 @@ namespace UniRx.Async.Internal { - internal static class ArrayUtil + public static class ArrayUtil { [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void EnsureCapacity(ref T[] array, int index) @@ -43,6 +43,9 @@ public static (T[] array, int length) Materialize(IEnumerable source) if (source is ICollection coll) { defaultCount = coll.Count; + var buffer = new T[defaultCount]; + coll.CopyTo(buffer, 0); + return (buffer, defaultCount); } else if (source is IReadOnlyCollection rcoll) { @@ -54,15 +57,17 @@ public static (T[] array, int length) Materialize(IEnumerable source) return (Array.Empty(), 0); } - var index = 0; - var buffer = new T[defaultCount]; - foreach (var item in source) { - EnsureCapacity(ref buffer, index); - buffer[index++] = item; - } + var index = 0; + var buffer = new T[defaultCount]; + foreach (var item in source) + { + EnsureCapacity(ref buffer, index); + buffer[index++] = item; + } - return (buffer, index); + return (buffer, index); + } } } } diff --git a/Assets/Plugins/UniRx/Scripts/Async/Internal/PromiseHelper.cs b/Assets/Plugins/UniRx/Scripts/Async/Internal/PromiseHelper.cs new file mode 100644 index 00000000..fb6c1649 --- /dev/null +++ b/Assets/Plugins/UniRx/Scripts/Async/Internal/PromiseHelper.cs @@ -0,0 +1,34 @@ +#if CSHARP_7_OR_LATER +#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member + +using System.Collections.Generic; + +namespace UniRx.Async.Internal +{ + public static class PromiseHelper + { + public static void TrySetResultAll(IEnumerable source, T value) + where TPromise : class, IResolvePromise + { + var rentArray = ArrayPoolUtil.Materialize(source); + var clearArray = true; + try + { + var array = rentArray.Array; + var len = rentArray.Length; + for (int i = 0; i < len; i++) + { + array[i].TrySetResult(value); + array[i] = null; + } + clearArray = false; + } + finally + { + rentArray.DisposeManually(clearArray); + } + } + } +} + +#endif \ No newline at end of file diff --git a/Assets/Plugins/UniRx/Scripts/Async/Internal/PromiseHelper.cs.meta b/Assets/Plugins/UniRx/Scripts/Async/Internal/PromiseHelper.cs.meta new file mode 100644 index 00000000..dfc1c50e --- /dev/null +++ b/Assets/Plugins/UniRx/Scripts/Async/Internal/PromiseHelper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 173f9b763911bf847b7dfbf31ee87fc4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/UniRx/Scripts/Async/Internal/ReusablePromise.cs b/Assets/Plugins/UniRx/Scripts/Async/Internal/ReusablePromise.cs index 3dda1983..14b5efa2 100644 --- a/Assets/Plugins/UniRx/Scripts/Async/Internal/ReusablePromise.cs +++ b/Assets/Plugins/UniRx/Scripts/Async/Internal/ReusablePromise.cs @@ -155,6 +155,13 @@ public abstract class ReusablePromise : IAwaiter // can override for control 'start/reset' timing. public virtual bool IsCompleted => status.IsCompleted(); + protected T RawResult => result; + + protected void ForceSetResult(T result) + { + this.result = result; + } + public virtual T GetResult() { switch (status) @@ -227,7 +234,7 @@ public virtual bool TrySetResult(T result) return false; } - void TryInvokeContinuation() + protected void TryInvokeContinuation() { if (continuation == null) return; diff --git a/Assets/Plugins/UniRx/Scripts/Async/Triggers/AsyncTriggerBase.cs b/Assets/Plugins/UniRx/Scripts/Async/Triggers/AsyncTriggerBase.cs index 70a10812..1c12ba7b 100644 --- a/Assets/Plugins/UniRx/Scripts/Async/Triggers/AsyncTriggerBase.cs +++ b/Assets/Plugins/UniRx/Scripts/Async/Triggers/AsyncTriggerBase.cs @@ -15,7 +15,7 @@ public interface ICancelablePromise bool TrySetCanceled(); } - public class AsyncTriggerPromise : ReusablePromise, ICancelablePromise + public class AsyncTriggerPromise : ReusablePromise, IPromise, ICancelablePromise { public CancellationToken RegisteredCancellationToken { get; private set; } @@ -30,6 +30,24 @@ public AsyncTriggerPromise(CancellationToken cancellationToken) TaskTracker.TrackActiveTask(this); } + public override T GetResult() + { + if (Status == AwaiterStatus.Pending) return RawResult; + return base.GetResult(); + } + + public override bool TrySetResult(T result) + { + if (Status == AwaiterStatus.Pending) + { + // keep status as Pending. + this.ForceSetResult(result); + TryInvokeContinuation(); + return true; + } + return false; + } + public override bool TrySetCanceled() { if (Status == AwaiterStatus.Canceled) return false; @@ -157,14 +175,20 @@ protected UniTask GetOrAddPromise(ref AsyncTriggerPromise promise, ref } if (promises == null) promises = new AsyncTriggerPromiseDictionary(); - var cancellablePromise = new AsyncTriggerPromise(); + + if (promises.TryGetValue(cancellationToken, out var cancellablePromise)) + { + return cancellablePromise.Task; + } + + cancellablePromise = new AsyncTriggerPromise(); promises.Add(cancellationToken, cancellablePromise); if (!calledAwake) { PlayerLoopHelper.AddAction(PlayerLoopTiming.Update, new AwakeMonitor(this)); } - var registrationToken = cancellationToken.Register(Callback, Tuple.Create(promises, cancellablePromise)); + var registrationToken = cancellationToken.Register(Callback, Tuple.Create((ICancellationTokenKeyDictionary)promises, (ICancelablePromise)cancellablePromise)); if (registeredCancellations == null) { registeredCancellations = ArrayPool.Shared.Rent(4); @@ -193,10 +217,7 @@ protected void TrySetResult(ReusablePromise promise, AsyncTriggerPromiseDi } if (promises != null) { - foreach (var item in promises.Values) - { - item.TrySetResult(value); - } + PromiseHelper.TrySetResultAll(promises.Values, value); } } diff --git a/Assets/Plugins/UniRx/Scripts/Async/UniTaskCompletionSource.cs b/Assets/Plugins/UniRx/Scripts/Async/UniTaskCompletionSource.cs index 7ed23fb6..b8b59d68 100644 --- a/Assets/Plugins/UniRx/Scripts/Async/UniTaskCompletionSource.cs +++ b/Assets/Plugins/UniRx/Scripts/Async/UniTaskCompletionSource.cs @@ -37,7 +37,35 @@ public ExceptionDispatchInfo GetException() } } - public class UniTaskCompletionSource : IAwaiter + public interface IResolvePromise + { + bool TrySetResult(); + } + + public interface IResolvePromise + { + bool TrySetResult(T value); + } + + public interface IRejectPromise + { + bool TrySetException(Exception exception); + } + + public interface ICancelPromise + { + bool TrySetCanceled(); + } + + public interface IPromise : IResolvePromise, IRejectPromise, ICancelPromise + { + } + + public interface IPromise : IResolvePromise, IRejectPromise, ICancelPromise + { + } + + public class UniTaskCompletionSource : IAwaiter, IPromise { // State(= AwaiterStatus) const int Pending = 0; @@ -204,7 +232,7 @@ void INotifyCompletion.OnCompleted(Action continuation) } } - public class UniTaskCompletionSource : IAwaiter + public class UniTaskCompletionSource : IAwaiter, IPromise { // State(= AwaiterStatus) const int Pending = 0; diff --git a/Assets/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveCommand.cs b/Assets/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveCommand.cs index 0719b7a1..4d0b7b69 100644 --- a/Assets/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveCommand.cs +++ b/Assets/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveCommand.cs @@ -3,6 +3,7 @@ using System.Threading; #if CSHARP_7_OR_LATER using UniRx.Async; +using UniRx.Async.Internal; #endif namespace UniRx @@ -108,10 +109,7 @@ public bool Execute(T parameter) commonPromise?.InvokeContinuation(ref parameter); if (removablePromises != null) { - foreach (var item in removablePromises) - { - item.Value.InvokeContinuation(ref parameter); - } + PromiseHelper.TrySetResultAll(removablePromises.Values, parameter); } #endif @@ -309,10 +307,7 @@ public IDisposable Execute(T parameter) commonPromise?.InvokeContinuation(ref parameter); if (removablePromises != null) { - foreach (var item in removablePromises) - { - item.Value.InvokeContinuation(ref parameter); - } + PromiseHelper.TrySetResultAll(removablePromises.Values, parameter); } #endif @@ -334,10 +329,7 @@ public IDisposable Execute(T parameter) commonPromise?.InvokeContinuation(ref parameter); if (removablePromises != null) { - foreach (var item in removablePromises) - { - item.Value.InvokeContinuation(ref parameter); - } + PromiseHelper.TrySetResultAll(removablePromises.Values, parameter); } #endif diff --git a/Assets/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveProperty.cs b/Assets/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveProperty.cs index 9b6183b2..c1ced9b7 100644 --- a/Assets/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveProperty.cs +++ b/Assets/Plugins/UniRx/Scripts/UnityEngineBridge/ReactiveProperty.cs @@ -8,6 +8,7 @@ #endif #if CSHARP_7_OR_LATER using UniRx.Async; +using UniRx.Async.Internal; #endif namespace UniRx @@ -158,10 +159,7 @@ void RaiseOnNext(ref T value) commonPromise?.InvokeContinuation(ref value); if (removablePromises != null) { - foreach (var item in removablePromises) - { - item.Value.InvokeContinuation(ref value); - } + PromiseHelper.TrySetResultAll(removablePromises.Values, value); } #endif } @@ -526,10 +524,7 @@ void IObserver.OnNext(T value) commonPromise?.InvokeContinuation(ref value); if (removablePromises != null) { - foreach (var item in removablePromises) - { - item.Value.InvokeContinuation(ref value); - } + PromiseHelper.TrySetResultAll(removablePromises.Values, value); } #endif } @@ -541,7 +536,7 @@ void IObserver.OnError(Exception error) // call source.OnError var node = root; while (node != null) - { + { node.OnError(error); node = node.Next; } diff --git a/Assets/Plugins/UniRx/Scripts/UnityEngineBridge/ReactivePropertyReusablePromise.cs b/Assets/Plugins/UniRx/Scripts/UnityEngineBridge/ReactivePropertyReusablePromise.cs index 18e89131..9c5f77da 100644 --- a/Assets/Plugins/UniRx/Scripts/UnityEngineBridge/ReactivePropertyReusablePromise.cs +++ b/Assets/Plugins/UniRx/Scripts/UnityEngineBridge/ReactivePropertyReusablePromise.cs @@ -9,7 +9,7 @@ namespace UniRx { - internal class ReactivePropertyReusablePromise : IAwaiter + internal class ReactivePropertyReusablePromise : IAwaiter, IResolvePromise { T result; object continuation; // Action or Queue @@ -128,6 +128,12 @@ public void UnsafeOnCompleted(Action action) } } } + + bool IResolvePromise.TrySetResult(T value) + { + InvokeContinuation(ref value); + return true; + } } } diff --git a/Assets/Scripts/Sandbox/SandboxScene.cs b/Assets/Scripts/Sandbox/SandboxScene.cs index 9399161c..804fd301 100644 --- a/Assets/Scripts/Sandbox/SandboxScene.cs +++ b/Assets/Scripts/Sandbox/SandboxScene.cs @@ -25,6 +25,18 @@ void Start() SingleClick(cts.Token).Forget(); MultiClick(cts.Token).Forget(); DestroyA(cts).Forget(); + + DoUpdate().Forget(); + } + + async UniTaskVoid DoUpdate() + { + var trigger = buttonA.GetAsyncUpdateTrigger(); + while (true) + { + await trigger.UpdateAsync(this.GetCancellationTokenOnDestroy()); + UnityEngine.Debug.Log("Update!"); + } } async UniTask SingleClick(CancellationToken ct) diff --git a/Dlls/UniRx.Library/UniRx.Library.csproj b/Dlls/UniRx.Library/UniRx.Library.csproj index e7a20dab..727afda2 100644 --- a/Dlls/UniRx.Library/UniRx.Library.csproj +++ b/Dlls/UniRx.Library/UniRx.Library.csproj @@ -99,6 +99,9 @@ Async\Internal\MinimumQueue.cs + + Async\Internal\PromiseHelper.cs + Async\Internal\ReusablePromise.cs diff --git a/EditorTests.csproj b/EditorTests.csproj index 3e033f7f..2b0a8b48 100644 --- a/EditorTests.csproj +++ b/EditorTests.csproj @@ -697,7 +697,7 @@ true C:\Users\neuecc\AppData\Local\Unity\cache\packages\packages.unity.com\com.unity.incrementalcompiler@0.0.42-preview.19\.bin - 62044 + 16970 true \ No newline at end of file diff --git a/NewAssembly.csproj b/NewAssembly.csproj index aa056a36..3dff45af 100644 --- a/NewAssembly.csproj +++ b/NewAssembly.csproj @@ -707,7 +707,7 @@ true C:\Users\neuecc\AppData\Local\Unity\cache\packages\packages.unity.com\com.unity.incrementalcompiler@0.0.42-preview.19\.bin - 62044 + 16970 true \ No newline at end of file diff --git a/Tests/UniRx.Console/Program.cs b/Tests/UniRx.Console/Program.cs index 13e21e4e..2e70557c 100644 --- a/Tests/UniRx.Console/Program.cs +++ b/Tests/UniRx.Console/Program.cs @@ -7,6 +7,8 @@ using System.Linq.Expressions; using System.Text; using System.Threading; +using System.Threading.Tasks; +using UniRx.Async; namespace UniRx { @@ -15,14 +17,25 @@ class Program static void Main(string[] args) { // my path:) - var path = @"C:\Users\neuecc\Documents\Git\neuecc\UniRx\Assets\Plugins\UniRx\Scripts\UnityEngineBridge\Triggers"; - var outpath = @""; - TriggerFileGenerator.GenerateAsyncTrigger(path, outpath); + //var path = @"C:\Users\neuecc\Documents\Git\neuecc\UniRx\Assets\Plugins\UniRx\Scripts\UnityEngineBridge\Triggers"; + //var outpath = @""; + //TriggerFileGenerator.GenerateAsyncTrigger(path, outpath); // Console.WriteLine("-- -"); // Console.WriteLine(code); // Console.WriteLine("---"); + Run().Forget(); + Console.ReadLine(); + } + + static async UniTask Run() + { + var cts = new CancellationTokenSource(); + var rp = new ReactiveProperty(); + var _ = Task.Delay(TimeSpan.FromSeconds(5)).ContinueWith(x => rp.Value = 9999); + var v = await rp.WaitUntilValueChangedAsync(cts.Token); + Console.WriteLine(v); } } } diff --git a/UniRx.Async.Editor.csproj b/UniRx.Async.Editor.csproj index e934add6..3fc89344 100644 --- a/UniRx.Async.Editor.csproj +++ b/UniRx.Async.Editor.csproj @@ -686,7 +686,7 @@ true C:\Users\neuecc\AppData\Local\Unity\cache\packages\packages.unity.com\com.unity.incrementalcompiler@0.0.42-preview.19\.bin - 62044 + 16970 true \ No newline at end of file diff --git a/UniRx.Async.Player.csproj b/UniRx.Async.Player.csproj index e4bc3ec2..461f72ed 100644 --- a/UniRx.Async.Player.csproj +++ b/UniRx.Async.Player.csproj @@ -912,7 +912,7 @@ true C:\Users\neuecc\AppData\Local\Unity\cache\packages\packages.unity.com\com.unity.incrementalcompiler@0.0.42-preview.19\.bin - 62044 + 16970 true \ No newline at end of file diff --git a/UniRx.Async.csproj b/UniRx.Async.csproj index 5a644b09..8f10472b 100644 --- a/UniRx.Async.csproj +++ b/UniRx.Async.csproj @@ -82,6 +82,7 @@ + @@ -758,7 +759,7 @@ true C:\Users\neuecc\AppData\Local\Unity\cache\packages\packages.unity.com\com.unity.incrementalcompiler@0.0.42-preview.19\.bin - 62044 + 16970 true \ No newline at end of file diff --git a/UniRx.Examples.csproj b/UniRx.Examples.csproj index 8071d784..6988feca 100644 --- a/UniRx.Examples.csproj +++ b/UniRx.Examples.csproj @@ -703,7 +703,7 @@ true C:\Users\neuecc\AppData\Local\Unity\cache\packages\packages.unity.com\com.unity.incrementalcompiler@0.0.42-preview.19\.bin - 62044 + 16970 true \ No newline at end of file diff --git a/UniRx.Player.csproj b/UniRx.Player.csproj index 79900139..7bf79b1d 100644 --- a/UniRx.Player.csproj +++ b/UniRx.Player.csproj @@ -1074,7 +1074,7 @@ true C:\Users\neuecc\AppData\Local\Unity\cache\packages\packages.unity.com\com.unity.incrementalcompiler@0.0.42-preview.19\.bin - 62044 + 16970 true \ No newline at end of file diff --git a/UniRx.Plugins.Player.csproj b/UniRx.Plugins.Player.csproj index 9b49d6d6..8be35e8e 100644 --- a/UniRx.Plugins.Player.csproj +++ b/UniRx.Plugins.Player.csproj @@ -937,7 +937,7 @@ true C:\Users\neuecc\AppData\Local\Unity\cache\packages\packages.unity.com\com.unity.incrementalcompiler@0.0.42-preview.19\.bin - 62044 + 16970 true \ No newline at end of file diff --git a/UniRx.Plugins.csproj b/UniRx.Plugins.csproj index 7ff25de0..9c253c5b 100644 --- a/UniRx.Plugins.csproj +++ b/UniRx.Plugins.csproj @@ -700,7 +700,7 @@ true C:\Users\neuecc\AppData\Local\Unity\cache\packages\packages.unity.com\com.unity.incrementalcompiler@0.0.42-preview.19\.bin - 62044 + 16970 true \ No newline at end of file diff --git a/UniRx.csproj b/UniRx.csproj index 5a939695..f4a395c3 100644 --- a/UniRx.csproj +++ b/UniRx.csproj @@ -903,7 +903,7 @@ true C:\Users\neuecc\AppData\Local\Unity\cache\packages\packages.unity.com\com.unity.incrementalcompiler@0.0.42-preview.19\.bin - 62044 + 16970 true \ No newline at end of file diff --git a/UnityTests.csproj b/UnityTests.csproj index d452df7f..8695bf7a 100644 --- a/UnityTests.csproj +++ b/UnityTests.csproj @@ -722,7 +722,7 @@ true C:\Users\neuecc\AppData\Local\Unity\cache\packages\packages.unity.com\com.unity.incrementalcompiler@0.0.42-preview.19\.bin - 62044 + 16970 true \ No newline at end of file