mirror of https://github.com/Cysharp/UniTask
fix can not close application in mono build
parent
5bfff5bc24
commit
bdd569e213
|
@ -143,14 +143,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WaitAsyncSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void CancellationCallback(object state)
|
static void CancellationCallback(object state)
|
||||||
{
|
{
|
||||||
var self = (WaitAsyncSource)state;
|
var self = (WaitAsyncSource)state;
|
||||||
|
@ -468,14 +460,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WaitAsyncSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void CancellationCallback(object state)
|
static void CancellationCallback(object state)
|
||||||
{
|
{
|
||||||
var self = (WaitAsyncSource)state;
|
var self = (WaitAsyncSource)state;
|
||||||
|
|
|
@ -239,14 +239,6 @@ namespace Cysharp.Threading.Tasks.CompilerServices
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~AsyncUniTask()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal sealed class AsyncUniTask<TStateMachine, T> : IStateMachineRunnerPromise<T>, IUniTaskSource<T>, ITaskPoolNode<AsyncUniTask<TStateMachine, T>>
|
internal sealed class AsyncUniTask<TStateMachine, T> : IStateMachineRunnerPromise<T>, IUniTaskSource<T>, ITaskPoolNode<AsyncUniTask<TStateMachine, T>>
|
||||||
|
@ -376,14 +368,6 @@ namespace Cysharp.Threading.Tasks.CompilerServices
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~AsyncUniTask()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -134,14 +134,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~EnumeratorPromise()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Unwrap YieldInstructions
|
// Unwrap YieldInstructions
|
||||||
|
|
||||||
static IEnumerator ConsumeEnumerator(IEnumerator enumerator)
|
static IEnumerator ConsumeEnumerator(IEnumerator enumerator)
|
||||||
|
|
|
@ -193,14 +193,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~AsyncOperationHandleWithCancellationSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class AsyncOperationHandleConfiguredSource : IUniTaskSource, IPlayerLoopItem, ITaskPoolNode<AsyncOperationHandleConfiguredSource>
|
sealed class AsyncOperationHandleConfiguredSource : IUniTaskSource, IPlayerLoopItem, ITaskPoolNode<AsyncOperationHandleConfiguredSource>
|
||||||
|
@ -314,14 +306,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~AsyncOperationHandleConfiguredSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -512,14 +496,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~AsyncOperationHandleWithCancellationSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class AsyncOperationHandleConfiguredSource<T> : IUniTaskSource<T>, IPlayerLoopItem, ITaskPoolNode<AsyncOperationHandleConfiguredSource<T>>
|
sealed class AsyncOperationHandleConfiguredSource<T> : IUniTaskSource<T>, IPlayerLoopItem, ITaskPoolNode<AsyncOperationHandleConfiguredSource<T>>
|
||||||
|
@ -637,14 +613,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~AsyncOperationHandleConfiguredSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -278,14 +278,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
originalUpdateAction = default;
|
originalUpdateAction = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~TweenConfiguredSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
|
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
using System.IO;
|
||||||
using System.Runtime.CompilerServices;
|
using System.Runtime.CompilerServices;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
@ -181,14 +182,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~YieldPromise()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class NextFramePromise : IUniTaskSource, IPlayerLoopItem, ITaskPoolNode<NextFramePromise>
|
sealed class NextFramePromise : IUniTaskSource, IPlayerLoopItem, ITaskPoolNode<NextFramePromise>
|
||||||
|
@ -283,14 +276,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~NextFramePromise()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class DelayFramePromise : IUniTaskSource, IPlayerLoopItem, ITaskPoolNode<DelayFramePromise>
|
sealed class DelayFramePromise : IUniTaskSource, IPlayerLoopItem, ITaskPoolNode<DelayFramePromise>
|
||||||
|
@ -406,14 +391,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~DelayFramePromise()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class DelayPromise : IUniTaskSource, IPlayerLoopItem, ITaskPoolNode<DelayPromise>
|
sealed class DelayPromise : IUniTaskSource, IPlayerLoopItem, ITaskPoolNode<DelayPromise>
|
||||||
|
@ -524,14 +501,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~DelayPromise()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class DelayIgnoreTimeScalePromise : IUniTaskSource, IPlayerLoopItem, ITaskPoolNode<DelayIgnoreTimeScalePromise>
|
sealed class DelayIgnoreTimeScalePromise : IUniTaskSource, IPlayerLoopItem, ITaskPoolNode<DelayIgnoreTimeScalePromise>
|
||||||
|
@ -642,14 +611,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~DelayIgnoreTimeScalePromise()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -137,14 +137,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WaitUntilPromise()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class WaitWhilePromise : IUniTaskSource, IPlayerLoopItem, ITaskPoolNode<WaitWhilePromise>
|
sealed class WaitWhilePromise : IUniTaskSource, IPlayerLoopItem, ITaskPoolNode<WaitWhilePromise>
|
||||||
|
@ -249,14 +241,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WaitWhilePromise()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class WaitUntilCanceledPromise : IUniTaskSource, IPlayerLoopItem, ITaskPoolNode<WaitUntilCanceledPromise>
|
sealed class WaitUntilCanceledPromise : IUniTaskSource, IPlayerLoopItem, ITaskPoolNode<WaitUntilCanceledPromise>
|
||||||
|
@ -344,14 +328,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WaitUntilCanceledPromise()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// where T : UnityEngine.Object, can not add constraint
|
// where T : UnityEngine.Object, can not add constraint
|
||||||
|
@ -475,14 +451,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WaitUntilValueChangedUnityObjectPromise()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class WaitUntilValueChangedStandardObjectPromise<T, U> : IUniTaskSource<U>, IPlayerLoopItem, ITaskPoolNode<WaitUntilValueChangedStandardObjectPromise<T, U>>
|
sealed class WaitUntilValueChangedStandardObjectPromise<T, U> : IUniTaskSource<U>, IPlayerLoopItem, ITaskPoolNode<WaitUntilValueChangedStandardObjectPromise<T, U>>
|
||||||
|
@ -604,14 +572,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WaitUntilValueChangedStandardObjectPromise()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -131,11 +131,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAllPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(T1, T2, T3)> WhenAll<T1, T2, T3>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3)
|
public static UniTask<(T1, T2, T3)> WhenAll<T1, T2, T3>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3)
|
||||||
|
@ -295,11 +290,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAllPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(T1, T2, T3, T4)> WhenAll<T1, T2, T3, T4>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4)
|
public static UniTask<(T1, T2, T3, T4)> WhenAll<T1, T2, T3, T4>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4)
|
||||||
|
@ -495,11 +485,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAllPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(T1, T2, T3, T4, T5)> WhenAll<T1, T2, T3, T4, T5>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5)
|
public static UniTask<(T1, T2, T3, T4, T5)> WhenAll<T1, T2, T3, T4, T5>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5)
|
||||||
|
@ -731,11 +716,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAllPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(T1, T2, T3, T4, T5, T6)> WhenAll<T1, T2, T3, T4, T5, T6>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6)
|
public static UniTask<(T1, T2, T3, T4, T5, T6)> WhenAll<T1, T2, T3, T4, T5, T6>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6)
|
||||||
|
@ -1003,11 +983,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAllPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(T1, T2, T3, T4, T5, T6, T7)> WhenAll<T1, T2, T3, T4, T5, T6, T7>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7)
|
public static UniTask<(T1, T2, T3, T4, T5, T6, T7)> WhenAll<T1, T2, T3, T4, T5, T6, T7>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7)
|
||||||
|
@ -1311,11 +1286,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAllPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(T1, T2, T3, T4, T5, T6, T7, T8)> WhenAll<T1, T2, T3, T4, T5, T6, T7, T8>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8)
|
public static UniTask<(T1, T2, T3, T4, T5, T6, T7, T8)> WhenAll<T1, T2, T3, T4, T5, T6, T7, T8>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8)
|
||||||
|
@ -1655,11 +1625,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAllPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(T1, T2, T3, T4, T5, T6, T7, T8, T9)> WhenAll<T1, T2, T3, T4, T5, T6, T7, T8, T9>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9)
|
public static UniTask<(T1, T2, T3, T4, T5, T6, T7, T8, T9)> WhenAll<T1, T2, T3, T4, T5, T6, T7, T8, T9>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9)
|
||||||
|
@ -2035,11 +2000,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAllPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> WhenAll<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10)
|
public static UniTask<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> WhenAll<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10)
|
||||||
|
@ -2451,11 +2411,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAllPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> WhenAll<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10, UniTask<T11> task11)
|
public static UniTask<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> WhenAll<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10, UniTask<T11> task11)
|
||||||
|
@ -2903,11 +2858,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAllPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> WhenAll<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10, UniTask<T11> task11, UniTask<T12> task12)
|
public static UniTask<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> WhenAll<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10, UniTask<T11> task11, UniTask<T12> task12)
|
||||||
|
@ -3391,11 +3341,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAllPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> WhenAll<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10, UniTask<T11> task11, UniTask<T12> task12, UniTask<T13> task13)
|
public static UniTask<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> WhenAll<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10, UniTask<T11> task11, UniTask<T12> task12, UniTask<T13> task13)
|
||||||
|
@ -3915,11 +3860,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAllPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> WhenAll<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10, UniTask<T11> task11, UniTask<T12> task12, UniTask<T13> task13, UniTask<T14> task14)
|
public static UniTask<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> WhenAll<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10, UniTask<T11> task11, UniTask<T12> task12, UniTask<T13> task13, UniTask<T14> task14)
|
||||||
|
@ -4475,11 +4415,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAllPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> WhenAll<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10, UniTask<T11> task11, UniTask<T12> task12, UniTask<T13> task13, UniTask<T14> task14, UniTask<T15> task15)
|
public static UniTask<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> WhenAll<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10, UniTask<T11> task11, UniTask<T12> task12, UniTask<T13> task13, UniTask<T14> task14, UniTask<T15> task15)
|
||||||
|
@ -5071,11 +5006,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAllPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -45,7 +45,7 @@ namespace Cysharp.Threading.Tasks
|
||||||
|
|
||||||
public WhenAllPromise(<#= args #>)
|
public WhenAllPromise(<#= args #>)
|
||||||
{
|
{
|
||||||
TaskTracker2.TrackActiveTask(this, 3);
|
TaskTracker.TrackActiveTask(this, 3);
|
||||||
|
|
||||||
this.completedCount = 0;
|
this.completedCount = 0;
|
||||||
<# for(var j = 1; j <= i; j++) { #>
|
<# for(var j = 1; j <= i; j++) { #>
|
||||||
|
@ -92,7 +92,7 @@ namespace Cysharp.Threading.Tasks
|
||||||
|
|
||||||
public (<#= t #>) GetResult(short token)
|
public (<#= t #>) GetResult(short token)
|
||||||
{
|
{
|
||||||
TaskTracker2.RemoveTracking(this);
|
TaskTracker.RemoveTracking(this);
|
||||||
GC.SuppressFinalize(this);
|
GC.SuppressFinalize(this);
|
||||||
return core.GetResult(token);
|
return core.GetResult(token);
|
||||||
}
|
}
|
||||||
|
@ -116,11 +116,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAllPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
<# } #>
|
<# } #>
|
||||||
}
|
}
|
||||||
|
|
|
@ -142,11 +142,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAllPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class WhenAllPromise : IUniTaskSource
|
sealed class WhenAllPromise : IUniTaskSource
|
||||||
|
@ -237,11 +232,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAllPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,11 +127,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
GetResult(token);
|
GetResult(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAnyPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3)> WhenAny<T1, T2, T3>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3)
|
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3)> WhenAny<T1, T2, T3>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3)
|
||||||
|
@ -289,11 +284,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
GetResult(token);
|
GetResult(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAnyPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4)> WhenAny<T1, T2, T3, T4>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4)
|
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4)> WhenAny<T1, T2, T3, T4>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4)
|
||||||
|
@ -488,11 +478,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
GetResult(token);
|
GetResult(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAnyPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5)> WhenAny<T1, T2, T3, T4, T5>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5)
|
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5)> WhenAny<T1, T2, T3, T4, T5>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5)
|
||||||
|
@ -724,11 +709,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
GetResult(token);
|
GetResult(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAnyPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5, T6 result6)> WhenAny<T1, T2, T3, T4, T5, T6>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6)
|
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5, T6 result6)> WhenAny<T1, T2, T3, T4, T5, T6>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6)
|
||||||
|
@ -997,11 +977,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
GetResult(token);
|
GetResult(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAnyPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5, T6 result6, T7 result7)> WhenAny<T1, T2, T3, T4, T5, T6, T7>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7)
|
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5, T6 result6, T7 result7)> WhenAny<T1, T2, T3, T4, T5, T6, T7>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7)
|
||||||
|
@ -1307,11 +1282,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
GetResult(token);
|
GetResult(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAnyPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5, T6 result6, T7 result7, T8 result8)> WhenAny<T1, T2, T3, T4, T5, T6, T7, T8>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8)
|
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5, T6 result6, T7 result7, T8 result8)> WhenAny<T1, T2, T3, T4, T5, T6, T7, T8>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8)
|
||||||
|
@ -1654,11 +1624,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
GetResult(token);
|
GetResult(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAnyPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5, T6 result6, T7 result7, T8 result8, T9 result9)> WhenAny<T1, T2, T3, T4, T5, T6, T7, T8, T9>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9)
|
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5, T6 result6, T7 result7, T8 result8, T9 result9)> WhenAny<T1, T2, T3, T4, T5, T6, T7, T8, T9>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9)
|
||||||
|
@ -2038,11 +2003,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
GetResult(token);
|
GetResult(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAnyPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5, T6 result6, T7 result7, T8 result8, T9 result9, T10 result10)> WhenAny<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10)
|
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5, T6 result6, T7 result7, T8 result8, T9 result9, T10 result10)> WhenAny<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10)
|
||||||
|
@ -2459,11 +2419,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
GetResult(token);
|
GetResult(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAnyPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5, T6 result6, T7 result7, T8 result8, T9 result9, T10 result10, T11 result11)> WhenAny<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10, UniTask<T11> task11)
|
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5, T6 result6, T7 result7, T8 result8, T9 result9, T10 result10, T11 result11)> WhenAny<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10, UniTask<T11> task11)
|
||||||
|
@ -2917,11 +2872,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
GetResult(token);
|
GetResult(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAnyPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5, T6 result6, T7 result7, T8 result8, T9 result9, T10 result10, T11 result11, T12 result12)> WhenAny<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10, UniTask<T11> task11, UniTask<T12> task12)
|
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5, T6 result6, T7 result7, T8 result8, T9 result9, T10 result10, T11 result11, T12 result12)> WhenAny<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10, UniTask<T11> task11, UniTask<T12> task12)
|
||||||
|
@ -3412,11 +3362,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
GetResult(token);
|
GetResult(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAnyPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5, T6 result6, T7 result7, T8 result8, T9 result9, T10 result10, T11 result11, T12 result12, T13 result13)> WhenAny<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10, UniTask<T11> task11, UniTask<T12> task12, UniTask<T13> task13)
|
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5, T6 result6, T7 result7, T8 result8, T9 result9, T10 result10, T11 result11, T12 result12, T13 result13)> WhenAny<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10, UniTask<T11> task11, UniTask<T12> task12, UniTask<T13> task13)
|
||||||
|
@ -3944,11 +3889,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
GetResult(token);
|
GetResult(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAnyPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5, T6 result6, T7 result7, T8 result8, T9 result9, T10 result10, T11 result11, T12 result12, T13 result13, T14 result14)> WhenAny<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10, UniTask<T11> task11, UniTask<T12> task12, UniTask<T13> task13, UniTask<T14> task14)
|
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5, T6 result6, T7 result7, T8 result8, T9 result9, T10 result10, T11 result11, T12 result12, T13 result13, T14 result14)> WhenAny<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10, UniTask<T11> task11, UniTask<T12> task12, UniTask<T13> task13, UniTask<T14> task14)
|
||||||
|
@ -4513,11 +4453,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
GetResult(token);
|
GetResult(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAnyPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5, T6 result6, T7 result7, T8 result8, T9 result9, T10 result10, T11 result11, T12 result12, T13 result13, T14 result14, T15 result15)> WhenAny<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10, UniTask<T11> task11, UniTask<T12> task12, UniTask<T13> task13, UniTask<T14> task14, UniTask<T15> task15)
|
public static UniTask<(int winArgumentIndex, T1 result1, T2 result2, T3 result3, T4 result4, T5 result5, T6 result6, T7 result7, T8 result8, T9 result9, T10 result10, T11 result11, T12 result12, T13 result13, T14 result14, T15 result15)> WhenAny<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>(UniTask<T1> task1, UniTask<T2> task2, UniTask<T3> task3, UniTask<T4> task4, UniTask<T5> task5, UniTask<T6> task6, UniTask<T7> task7, UniTask<T8> task8, UniTask<T9> task9, UniTask<T10> task10, UniTask<T11> task11, UniTask<T12> task12, UniTask<T13> task13, UniTask<T14> task14, UniTask<T15> task15)
|
||||||
|
@ -5119,11 +5054,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
GetResult(token);
|
GetResult(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAnyPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,7 @@ namespace Cysharp.Threading.Tasks
|
||||||
|
|
||||||
public WhenAnyPromise(<#= args #>)
|
public WhenAnyPromise(<#= args #>)
|
||||||
{
|
{
|
||||||
TaskTracker2.TrackActiveTask(this, 3);
|
TaskTracker.TrackActiveTask(this, 3);
|
||||||
|
|
||||||
this.completedCount = 0;
|
this.completedCount = 0;
|
||||||
<# for(var j = 1; j <= i; j++) { #>
|
<# for(var j = 1; j <= i; j++) { #>
|
||||||
|
@ -86,7 +86,7 @@ namespace Cysharp.Threading.Tasks
|
||||||
|
|
||||||
public (int, <#= tBool #>) GetResult(short token)
|
public (int, <#= tBool #>) GetResult(short token)
|
||||||
{
|
{
|
||||||
TaskTracker2.RemoveTracking(this);
|
TaskTracker.RemoveTracking(this);
|
||||||
GC.SuppressFinalize(this);
|
GC.SuppressFinalize(this);
|
||||||
return core.GetResult(token);
|
return core.GetResult(token);
|
||||||
}
|
}
|
||||||
|
@ -110,11 +110,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
GetResult(token);
|
GetResult(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAnyPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
<# } #>
|
<# } #>
|
||||||
|
|
|
@ -171,11 +171,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
GetResult(token);
|
GetResult(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAnyLRPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -268,11 +263,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
GetResult(token);
|
GetResult(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAnyPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class WhenAnyPromise : IUniTaskSource<int>
|
sealed class WhenAnyPromise : IUniTaskSource<int>
|
||||||
|
@ -363,11 +353,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
GetResult(token);
|
GetResult(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~WhenAnyPromise()
|
|
||||||
{
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,13 +38,42 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal class ExceptionHolder
|
||||||
|
{
|
||||||
|
ExceptionDispatchInfo exception;
|
||||||
|
bool calledGet = false;
|
||||||
|
|
||||||
|
public ExceptionHolder(ExceptionDispatchInfo exception)
|
||||||
|
{
|
||||||
|
this.exception = exception;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ExceptionDispatchInfo GetException()
|
||||||
|
{
|
||||||
|
if (!calledGet)
|
||||||
|
{
|
||||||
|
calledGet = true;
|
||||||
|
GC.SuppressFinalize(this);
|
||||||
|
}
|
||||||
|
return exception;
|
||||||
|
}
|
||||||
|
|
||||||
|
~ExceptionHolder()
|
||||||
|
{
|
||||||
|
if (!calledGet)
|
||||||
|
{
|
||||||
|
UniTaskScheduler.PublishUnobservedTaskException(exception.SourceException);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[StructLayout(LayoutKind.Auto)]
|
[StructLayout(LayoutKind.Auto)]
|
||||||
public struct UniTaskCompletionSourceCore<TResult>
|
public struct UniTaskCompletionSourceCore<TResult>
|
||||||
{
|
{
|
||||||
// Struct Size: TResult + (8 + 2 + 1 + 1 + 8 + 8)
|
// Struct Size: TResult + (8 + 2 + 1 + 1 + 8 + 8)
|
||||||
|
|
||||||
TResult result;
|
TResult result;
|
||||||
object error; // ExceptionDispatchInfo or OperationCanceledException
|
object error; // ExceptionHolder or OperationCanceledException
|
||||||
short version;
|
short version;
|
||||||
bool hasUnhandledError;
|
bool hasUnhandledError;
|
||||||
int completedCount; // 0: completed == false
|
int completedCount; // 0: completed == false
|
||||||
|
@ -78,9 +107,9 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
UniTaskScheduler.PublishUnobservedTaskException(oc);
|
UniTaskScheduler.PublishUnobservedTaskException(oc);
|
||||||
}
|
}
|
||||||
else if (error is ExceptionDispatchInfo ei)
|
else if (error is ExceptionHolder e)
|
||||||
{
|
{
|
||||||
UniTaskScheduler.PublishUnobservedTaskException(ei.SourceException);
|
UniTaskScheduler.PublishUnobservedTaskException(e.GetException().SourceException);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
|
@ -129,7 +158,7 @@ namespace Cysharp.Threading.Tasks
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this.error = ExceptionDispatchInfo.Capture(error);
|
this.error = new ExceptionHolder(ExceptionDispatchInfo.Capture(error));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (continuation != null || Interlocked.CompareExchange(ref this.continuation, UniTaskCompletionSourceCoreShared.s_sentinel, null) != null)
|
if (continuation != null || Interlocked.CompareExchange(ref this.continuation, UniTaskCompletionSourceCoreShared.s_sentinel, null) != null)
|
||||||
|
@ -209,9 +238,9 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
throw oce;
|
throw oce;
|
||||||
}
|
}
|
||||||
else if (error is ExceptionDispatchInfo edi)
|
else if (error is ExceptionHolder eh)
|
||||||
{
|
{
|
||||||
edi.Throw();
|
eh.GetException().Throw();
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new InvalidOperationException("Critical: invalid exception type was held.");
|
throw new InvalidOperationException("Critical: invalid exception type was held.");
|
||||||
|
@ -367,12 +396,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~UniTaskCompletionSource()
|
|
||||||
{
|
|
||||||
// clear error information.
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class AutoResetUniTaskCompletionSource : IUniTaskSource, ITaskPoolNode<AutoResetUniTaskCompletionSource>, IPromise
|
public class AutoResetUniTaskCompletionSource : IUniTaskSource, ITaskPoolNode<AutoResetUniTaskCompletionSource>, IPromise
|
||||||
|
@ -495,15 +518,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
core.Reset();
|
core.Reset();
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~AutoResetUniTaskCompletionSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class UniTaskCompletionSource<T> : IUniTaskSource<T>, IPromise<T>
|
public class UniTaskCompletionSource<T> : IUniTaskSource<T>, IPromise<T>
|
||||||
|
@ -593,12 +607,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
{
|
{
|
||||||
core.OnCompleted(continuation, state, token);
|
core.OnCompleted(continuation, state, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
~UniTaskCompletionSource()
|
|
||||||
{
|
|
||||||
// clear error information.
|
|
||||||
core.Reset();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class AutoResetUniTaskCompletionSource<T> : IUniTaskSource<T>, ITaskPoolNode<AutoResetUniTaskCompletionSource<T>>, IPromise<T>
|
public class AutoResetUniTaskCompletionSource<T> : IUniTaskSource<T>, ITaskPoolNode<AutoResetUniTaskCompletionSource<T>>, IPromise<T>
|
||||||
|
@ -726,15 +734,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
core.Reset();
|
core.Reset();
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
~AutoResetUniTaskCompletionSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -185,14 +185,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~AsyncOperationWithCancellationSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class AsyncOperationConfiguredSource : IUniTaskSource, IPlayerLoopItem, ITaskPoolNode<AsyncOperationConfiguredSource>
|
sealed class AsyncOperationConfiguredSource : IUniTaskSource, IPlayerLoopItem, ITaskPoolNode<AsyncOperationConfiguredSource>
|
||||||
|
@ -299,14 +291,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~AsyncOperationConfiguredSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -491,14 +475,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~ResourceRequestWithCancellationSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class ResourceRequestConfiguredSource : IUniTaskSource<UnityEngine.Object>, IPlayerLoopItem, ITaskPoolNode<ResourceRequestConfiguredSource>
|
sealed class ResourceRequestConfiguredSource : IUniTaskSource<UnityEngine.Object>, IPlayerLoopItem, ITaskPoolNode<ResourceRequestConfiguredSource>
|
||||||
|
@ -609,14 +585,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~ResourceRequestConfiguredSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -801,14 +769,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~AssetBundleRequestWithCancellationSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class AssetBundleRequestConfiguredSource : IUniTaskSource<UnityEngine.Object>, IPlayerLoopItem, ITaskPoolNode<AssetBundleRequestConfiguredSource>
|
sealed class AssetBundleRequestConfiguredSource : IUniTaskSource<UnityEngine.Object>, IPlayerLoopItem, ITaskPoolNode<AssetBundleRequestConfiguredSource>
|
||||||
|
@ -919,14 +879,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~AssetBundleRequestConfiguredSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -1111,14 +1063,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~AssetBundleCreateRequestWithCancellationSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class AssetBundleCreateRequestConfiguredSource : IUniTaskSource<AssetBundle>, IPlayerLoopItem, ITaskPoolNode<AssetBundleCreateRequestConfiguredSource>
|
sealed class AssetBundleCreateRequestConfiguredSource : IUniTaskSource<AssetBundle>, IPlayerLoopItem, ITaskPoolNode<AssetBundleCreateRequestConfiguredSource>
|
||||||
|
@ -1229,14 +1173,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~AssetBundleCreateRequestConfiguredSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -1439,14 +1375,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~UnityWebRequestAsyncOperationWithCancellationSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class UnityWebRequestAsyncOperationConfiguredSource : IUniTaskSource<UnityWebRequest>, IPlayerLoopItem, ITaskPoolNode<UnityWebRequestAsyncOperationConfiguredSource>
|
sealed class UnityWebRequestAsyncOperationConfiguredSource : IUniTaskSource<UnityWebRequest>, IPlayerLoopItem, ITaskPoolNode<UnityWebRequestAsyncOperationConfiguredSource>
|
||||||
|
@ -1565,14 +1493,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~UnityWebRequestAsyncOperationConfiguredSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -258,14 +258,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~<#= t.typeName #>WithCancellationSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class <#= t.typeName #>ConfiguredSource : <#= ToIUniTaskSourceReturnType(t.returnType) #>, IPlayerLoopItem, ITaskPoolNode<<#= t.typeName #>ConfiguredSource>
|
sealed class <#= t.typeName #>ConfiguredSource : <#= ToIUniTaskSourceReturnType(t.returnType) #>, IPlayerLoopItem, ITaskPoolNode<<#= t.typeName #>ConfiguredSource>
|
||||||
|
@ -396,14 +388,6 @@ namespace Cysharp.Threading.Tasks
|
||||||
cancellationToken = default;
|
cancellationToken = default;
|
||||||
return pool.TryPush(this);
|
return pool.TryPush(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~<#= t.typeName #>ConfiguredSource()
|
|
||||||
{
|
|
||||||
if (TryReturn())
|
|
||||||
{
|
|
||||||
GC.ReRegisterForFinalize(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -184,6 +184,7 @@ public class SandboxMain : MonoBehaviour
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
async UniTask RunStandardDelayAsync()
|
async UniTask RunStandardDelayAsync()
|
||||||
{
|
{
|
||||||
UnityEngine.Debug.Log("DEB");
|
UnityEngine.Debug.Log("DEB");
|
||||||
|
@ -422,10 +423,23 @@ public class SandboxMain : MonoBehaviour
|
||||||
Debug.Log($"{v.isDone} {v.isHttpError} {v.isNetworkError}");
|
Debug.Log($"{v.isDone} {v.isHttpError} {v.isNetworkError}");
|
||||||
Debug.Log(v.downloadHandler.text);
|
Debug.Log(v.downloadHandler.text);
|
||||||
}
|
}
|
||||||
|
private async void Go()
|
||||||
|
{
|
||||||
|
await UniTask.DelayFrame(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
async UniTask Foo()
|
||||||
|
{
|
||||||
|
await UniTask.DelayFrame(10);
|
||||||
|
throw new Exception("yeah");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
|
_ = Foo(); // unhandled.
|
||||||
|
Go();
|
||||||
|
|
||||||
UnityEngine.Debug.Log("Start:" + PlayerLoopInfo.CurrentLoopType);
|
UnityEngine.Debug.Log("Start:" + PlayerLoopInfo.CurrentLoopType);
|
||||||
|
|
||||||
//PlayerLoopInfo.Inject();
|
//PlayerLoopInfo.Inject();
|
||||||
|
@ -441,76 +455,76 @@ public class SandboxMain : MonoBehaviour
|
||||||
|
|
||||||
|
|
||||||
// rp.AddTo(this.GetCancellationTokenOnDestroy());
|
// rp.AddTo(this.GetCancellationTokenOnDestroy());
|
||||||
var cts = new CancellationTokenSource();
|
//var cts = new CancellationTokenSource();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
okButton.onClick.AddListener(UniTask.UnityAction(async () =>
|
//okButton.onClick.AddListener(UniTask.UnityAction(async () =>
|
||||||
{
|
//{
|
||||||
_ = ExecuteAsync();
|
// _ = ExecuteAsync();
|
||||||
|
|
||||||
await UniTask.Yield();
|
// await UniTask.Yield();
|
||||||
|
|
||||||
//await DelayCheck();
|
// //await DelayCheck();
|
||||||
/*
|
// /*
|
||||||
UnityEngine.Debug.Log("click:" + PlayerLoopInfo.CurrentLoopType);
|
// UnityEngine.Debug.Log("click:" + PlayerLoopInfo.CurrentLoopType);
|
||||||
StartCoroutine(CoroutineRun());
|
// StartCoroutine(CoroutineRun());
|
||||||
StartCoroutine(CoroutineRun2());
|
// StartCoroutine(CoroutineRun2());
|
||||||
_ = AsyncRun();
|
// _ = AsyncRun();
|
||||||
_ = AsyncLastUpdate();
|
// _ = AsyncLastUpdate();
|
||||||
_ = AsyncLastLast();
|
// _ = AsyncLastLast();
|
||||||
*/
|
// */
|
||||||
//await UniTask.Yield();
|
// //await UniTask.Yield();
|
||||||
//_ = Test2();
|
// //_ = Test2();
|
||||||
// EarlyUpdate.ExecuteMainThreadJobs
|
// // EarlyUpdate.ExecuteMainThreadJobs
|
||||||
// _ = Test2();
|
// // _ = Test2();
|
||||||
|
|
||||||
//var t = await Resources.LoadAsync<TextAsset>(Application.streamingAssetsPath + "test.txt");
|
// //var t = await Resources.LoadAsync<TextAsset>(Application.streamingAssetsPath + "test.txt");
|
||||||
//Debug.Log("LoadEnd" + PlayerLoopInfo.CurrentLoopType + ", " + (t != null));
|
// //Debug.Log("LoadEnd" + PlayerLoopInfo.CurrentLoopType + ", " + (t != null));
|
||||||
//Debug.Log("LoadEnd" + PlayerLoopInfo.CurrentLoopType + ", " + ((TextAsset)t).text);
|
// //Debug.Log("LoadEnd" + PlayerLoopInfo.CurrentLoopType + ", " + ((TextAsset)t).text);
|
||||||
|
|
||||||
|
|
||||||
//await UniTask.Yield(PlayerLoopTiming.LastUpdate);
|
// //await UniTask.Yield(PlayerLoopTiming.LastUpdate);
|
||||||
//UnityEngine.Debug.Log("after update:" + Time.frameCount);
|
// //UnityEngine.Debug.Log("after update:" + Time.frameCount);
|
||||||
////await UniTask.NextFrame();
|
// ////await UniTask.NextFrame();
|
||||||
////await UniTask.Yield();
|
// ////await UniTask.Yield();
|
||||||
////UnityEngine.Debug.Log("after update nextframe:" + Time.frameCount);
|
// ////UnityEngine.Debug.Log("after update nextframe:" + Time.frameCount);
|
||||||
|
|
||||||
//StartCoroutine(CoroutineRun2());
|
// //StartCoroutine(CoroutineRun2());
|
||||||
////StartCoroutine(CoroutineRun());
|
// ////StartCoroutine(CoroutineRun());
|
||||||
//UnityEngine.Debug.Log("FOO?");
|
// //UnityEngine.Debug.Log("FOO?");
|
||||||
|
|
||||||
//_ = DelayFrame3_Pre();
|
// //_ = DelayFrame3_Pre();
|
||||||
//await UniTask.Yield();
|
// //await UniTask.Yield();
|
||||||
|
|
||||||
}));
|
//}));
|
||||||
|
|
||||||
cancelButton.onClick.AddListener(UniTask.UnityAction(async () =>
|
//cancelButton.onClick.AddListener(UniTask.UnityAction(async () =>
|
||||||
{
|
//{
|
||||||
_ = DelayFrame3_Post();
|
// _ = DelayFrame3_Post();
|
||||||
await UniTask.Yield();
|
// await UniTask.Yield();
|
||||||
|
|
||||||
//await UniTask.Yield(PlayerLoopTiming.LastPreUpdate);
|
// //await UniTask.Yield(PlayerLoopTiming.LastPreUpdate);
|
||||||
//UnityEngine.Debug.Log("before update:" + Time.frameCount);
|
// //UnityEngine.Debug.Log("before update:" + Time.frameCount);
|
||||||
//await UniTask.NextFrame();
|
// //await UniTask.NextFrame();
|
||||||
//await UniTask.Yield();
|
// //await UniTask.Yield();
|
||||||
//UnityEngine.Debug.Log("before update nextframe:" + Time.frameCount);
|
// //UnityEngine.Debug.Log("before update nextframe:" + Time.frameCount);
|
||||||
|
|
||||||
//StartCoroutine(CoroutineRun());
|
// //StartCoroutine(CoroutineRun());
|
||||||
|
|
||||||
//UnityEngine.Debug.Log("click:" + PlayerLoopInfo.CurrentLoopType);
|
// //UnityEngine.Debug.Log("click:" + PlayerLoopInfo.CurrentLoopType);
|
||||||
//_ = Yieldding();
|
// //_ = Yieldding();
|
||||||
|
|
||||||
//var cts = new CancellationTokenSource();
|
// //var cts = new CancellationTokenSource();
|
||||||
|
|
||||||
//UnityEngine.Debug.Log("click:" + PlayerLoopInfo.CurrentLoopType + ":" + Time.frameCount);
|
// //UnityEngine.Debug.Log("click:" + PlayerLoopInfo.CurrentLoopType + ":" + Time.frameCount);
|
||||||
//var la = SceneManager.LoadSceneAsync("Scenes/ExceptionExamples").WithCancellation(cts.Token);
|
// //var la = SceneManager.LoadSceneAsync("Scenes/ExceptionExamples").WithCancellation(cts.Token);
|
||||||
////cts.Cancel();
|
// ////cts.Cancel();
|
||||||
//await la;
|
// //await la;
|
||||||
//UnityEngine.Debug.Log("End LoadSceneAsync" + PlayerLoopInfo.CurrentLoopType + ":" + Time.frameCount);
|
// //UnityEngine.Debug.Log("End LoadSceneAsync" + PlayerLoopInfo.CurrentLoopType + ":" + Time.frameCount);
|
||||||
}));
|
//}));
|
||||||
|
|
||||||
//return;
|
//return;
|
||||||
//await UniTask.SwitchToMainThread();
|
//await UniTask.SwitchToMainThread();
|
||||||
|
|
|
@ -557,7 +557,7 @@ PlayerSettings:
|
||||||
platformArchitecture: {}
|
platformArchitecture: {}
|
||||||
scriptingBackend:
|
scriptingBackend:
|
||||||
Android: 1
|
Android: 1
|
||||||
Standalone: 1
|
Standalone: 0
|
||||||
il2cppCompilerConfiguration: {}
|
il2cppCompilerConfiguration: {}
|
||||||
managedStrippingLevel: {}
|
managedStrippingLevel: {}
|
||||||
incrementalIl2cppBuild: {}
|
incrementalIl2cppBuild: {}
|
||||||
|
|
Loading…
Reference in New Issue