From b9b2925e8d27a28383f1b7f4ba348538287be412 Mon Sep 17 00:00:00 2001 From: neuecc Date: Tue, 5 May 2020 21:05:32 +0900 Subject: [PATCH] DotNetCore Version --- UniTask.NetCore.sln | 37 +++++++++++++++++++ src/UniTask.NetCore/UniTask.NetCore.csproj | 31 ++++++++++++++++ src/UniTask.NetCoreSandbox/Program.cs | 32 ++++++++++++++++ .../UniTask.NetCoreSandbox.csproj | 13 +++++++ .../UniTask.NetCoreTests.csproj | 18 +++++++++ src/UniTask.NetCoreTests/UnitTest1.cs | 14 +++++++ .../Assets/Plugins/UniTask/AsyncLazy.cs | 4 +- .../Assets/Plugins/UniTask/AsyncUnit.cs | 4 +- .../CancellationTokenEqualityComparer.cs | 4 +- .../UniTask/CancellationTokenExtensions.cs | 4 +- .../CancellationTokenSourceExtensions.cs | 4 +- .../AsyncMethodBuilderAttribute.cs | 4 +- .../AsyncUniTaskMethodBuilder.cs | 4 +- .../AsyncUniTaskVoidMethodBuilder.cs | 4 +- .../CompilerServices/MoveNextRunner.cs | 4 +- .../UniTask/EnumerableAsyncExtensions.cs | 4 +- .../UniTask/EnumeratorAsyncExtensions.cs | 4 +- .../Plugins/UniTask/ExceptionExtensions.cs | 4 +- .../Assets/Plugins/UniTask/IUniTaskSource.cs | 4 +- .../Plugins/UniTask/Internal/ArrayPool.cs | 4 +- .../Plugins/UniTask/Internal/ArrayPoolUtil.cs | 4 +- .../Plugins/UniTask/Internal/ArrayUtil.cs | 4 +- .../UniTask/Internal/ContinuationQueue.cs | 4 +- .../UniTask/Internal/DiagnosticsExtensions.cs | 4 +- .../Assets/Plugins/UniTask/Internal/Error.cs | 4 +- .../Plugins/UniTask/Internal/MinimumQueue.cs | 4 +- .../UniTask/Internal/PlayerLoopRunner.cs | 4 +- .../Internal/RuntimeHelpersAbstraction.cs | 10 +++-- .../Plugins/UniTask/Internal/TaskTracker.cs | 4 +- .../UniTask/Internal/WeakDictionary.cs | 4 +- .../Plugins/UniTask/PlayerLoopHelper.cs | 4 +- .../Assets/Plugins/UniTask/UniTask.Bridge.cs | 4 +- .../Assets/Plugins/UniTask/UniTask.Delay.cs | 4 +- .../Assets/Plugins/UniTask/UniTask.Factory.cs | 11 +++--- .../Assets/Plugins/UniTask/UniTask.Run.cs | 4 +- .../Plugins/UniTask/UniTask.Threading.cs | 12 ++++-- .../Plugins/UniTask/UniTask.WaitUntil.cs | 4 +- .../Assets/Plugins/UniTask/UniTask.WhenAll.cs | 4 +- .../Assets/Plugins/UniTask/UniTask.WhenAny.cs | 7 +--- src/UniTask/Assets/Plugins/UniTask/UniTask.cs | 4 +- .../UniTask/UniTaskCompletionSource.cs | 4 +- .../Plugins/UniTask/UniTaskExtensions.cs | 20 ++++++++-- .../UniTask/UniTaskObservableExtensions.cs | 4 +- .../Plugins/UniTask/UniTaskScheduler.cs | 27 +++++++++----- .../Assets/Plugins/UniTask/UniTaskVoid.cs | 6 +-- .../UniTask/UnityAsyncExtensions.Jobs.cs | 2 +- 46 files changed, 239 insertions(+), 129 deletions(-) create mode 100644 UniTask.NetCore.sln create mode 100644 src/UniTask.NetCore/UniTask.NetCore.csproj create mode 100644 src/UniTask.NetCoreSandbox/Program.cs create mode 100644 src/UniTask.NetCoreSandbox/UniTask.NetCoreSandbox.csproj create mode 100644 src/UniTask.NetCoreTests/UniTask.NetCoreTests.csproj create mode 100644 src/UniTask.NetCoreTests/UnitTest1.cs diff --git a/UniTask.NetCore.sln b/UniTask.NetCore.sln new file mode 100644 index 0000000..46cbf3e --- /dev/null +++ b/UniTask.NetCore.sln @@ -0,0 +1,37 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29613.14 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.NetCoreTests", "src\UniTask.NetCoreTests\UniTask.NetCoreTests.csproj", "{B3E311A4-70D8-4131-9965-C073A99D201A}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniTask.NetCore", "src\UniTask.NetCore\UniTask.NetCore.csproj", "{16EE20D0-7FB1-483A-8467-A5EEDBF1F5BF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.NetCoreSandbox", "src\UniTask.NetCoreSandbox\UniTask.NetCoreSandbox.csproj", "{3915E72E-33E0-4A14-A6D8-872702200E58}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B3E311A4-70D8-4131-9965-C073A99D201A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B3E311A4-70D8-4131-9965-C073A99D201A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B3E311A4-70D8-4131-9965-C073A99D201A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B3E311A4-70D8-4131-9965-C073A99D201A}.Release|Any CPU.Build.0 = Release|Any CPU + {16EE20D0-7FB1-483A-8467-A5EEDBF1F5BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {16EE20D0-7FB1-483A-8467-A5EEDBF1F5BF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {16EE20D0-7FB1-483A-8467-A5EEDBF1F5BF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {16EE20D0-7FB1-483A-8467-A5EEDBF1F5BF}.Release|Any CPU.Build.0 = Release|Any CPU + {3915E72E-33E0-4A14-A6D8-872702200E58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3915E72E-33E0-4A14-A6D8-872702200E58}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3915E72E-33E0-4A14-A6D8-872702200E58}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3915E72E-33E0-4A14-A6D8-872702200E58}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {90F78FCC-7CD4-4E88-A3DB-873F481F8C8B} + EndGlobalSection +EndGlobal diff --git a/src/UniTask.NetCore/UniTask.NetCore.csproj b/src/UniTask.NetCore/UniTask.NetCore.csproj new file mode 100644 index 0000000..512edf9 --- /dev/null +++ b/src/UniTask.NetCore/UniTask.NetCore.csproj @@ -0,0 +1,31 @@ + + + + netstandard2.0 + UniTask + Cysharp.Threading.Tasks + + + + + + + diff --git a/src/UniTask.NetCoreSandbox/Program.cs b/src/UniTask.NetCoreSandbox/Program.cs new file mode 100644 index 0000000..82e363f --- /dev/null +++ b/src/UniTask.NetCoreSandbox/Program.cs @@ -0,0 +1,32 @@ +using Cysharp.Threading.Tasks; +using System; +using System.Threading.Tasks; + +namespace NetCoreSandbox +{ + class Program + { + static async Task Main(string[] args) + { + Console.WriteLine("Foo"); + var v = await DoAsync().AsTask(); + + Console.WriteLine("Bar:" + v); + } + + + static async UniTask DoAsync() + { + var tcs = new UniTaskCompletionSource(); + + tcs.TrySetResult(100); + + + var v = await tcs.Task; + + return v; + } + + + } +} diff --git a/src/UniTask.NetCoreSandbox/UniTask.NetCoreSandbox.csproj b/src/UniTask.NetCoreSandbox/UniTask.NetCoreSandbox.csproj new file mode 100644 index 0000000..86d58b5 --- /dev/null +++ b/src/UniTask.NetCoreSandbox/UniTask.NetCoreSandbox.csproj @@ -0,0 +1,13 @@ + + + + Exe + netcoreapp3.1 + NetCoreSandbox + + + + + + + diff --git a/src/UniTask.NetCoreTests/UniTask.NetCoreTests.csproj b/src/UniTask.NetCoreTests/UniTask.NetCoreTests.csproj new file mode 100644 index 0000000..3c86681 --- /dev/null +++ b/src/UniTask.NetCoreTests/UniTask.NetCoreTests.csproj @@ -0,0 +1,18 @@ + + + + netcoreapp3.1 + + false + + NetCoreTests + + + + + + + + + + diff --git a/src/UniTask.NetCoreTests/UnitTest1.cs b/src/UniTask.NetCoreTests/UnitTest1.cs new file mode 100644 index 0000000..1d51046 --- /dev/null +++ b/src/UniTask.NetCoreTests/UnitTest1.cs @@ -0,0 +1,14 @@ +using System; +using Xunit; + +namespace UniTask.NetCoreTests +{ + public class UnitTest1 + { + [Fact] + public void Test1() + { + + } + } +} diff --git a/src/UniTask/Assets/Plugins/UniTask/AsyncLazy.cs b/src/UniTask/Assets/Plugins/UniTask/AsyncLazy.cs index 176c0d0..3e66a1f 100644 --- a/src/UniTask/Assets/Plugins/UniTask/AsyncLazy.cs +++ b/src/UniTask/Assets/Plugins/UniTask/AsyncLazy.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Threading; @@ -118,4 +117,3 @@ namespace Cysharp.Threading.Tasks } } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/AsyncUnit.cs b/src/UniTask/Assets/Plugins/UniTask/AsyncUnit.cs index db32c58..7a6091e 100644 --- a/src/UniTask/Assets/Plugins/UniTask/AsyncUnit.cs +++ b/src/UniTask/Assets/Plugins/UniTask/AsyncUnit.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#pragma warning disable CS1591 // Missing XML comment for publicly visible type or +#pragma warning disable CS1591 // Missing XML comment for publicly visible type or using System; @@ -25,4 +24,3 @@ namespace Cysharp.Threading.Tasks } } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/CancellationTokenEqualityComparer.cs b/src/UniTask/Assets/Plugins/UniTask/CancellationTokenEqualityComparer.cs index 8052791..42e9445 100644 --- a/src/UniTask/Assets/Plugins/UniTask/CancellationTokenEqualityComparer.cs +++ b/src/UniTask/Assets/Plugins/UniTask/CancellationTokenEqualityComparer.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Collections.Generic; using System.Threading; @@ -22,4 +21,3 @@ namespace Cysharp.Threading.Tasks } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/CancellationTokenExtensions.cs b/src/UniTask/Assets/Plugins/UniTask/CancellationTokenExtensions.cs index d511906..c70940c 100644 --- a/src/UniTask/Assets/Plugins/UniTask/CancellationTokenExtensions.cs +++ b/src/UniTask/Assets/Plugins/UniTask/CancellationTokenExtensions.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Threading; @@ -73,4 +72,3 @@ namespace Cysharp.Threading.Tasks } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/CancellationTokenSourceExtensions.cs b/src/UniTask/Assets/Plugins/UniTask/CancellationTokenSourceExtensions.cs index b980ffe..167255a 100644 --- a/src/UniTask/Assets/Plugins/UniTask/CancellationTokenSourceExtensions.cs +++ b/src/UniTask/Assets/Plugins/UniTask/CancellationTokenSourceExtensions.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Threading; using UnityEngine; @@ -49,4 +48,3 @@ namespace Cysharp.Threading.Tasks } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/CompilerServices/AsyncMethodBuilderAttribute.cs b/src/UniTask/Assets/Plugins/UniTask/CompilerServices/AsyncMethodBuilderAttribute.cs index de7da41..700fc33 100644 --- a/src/UniTask/Assets/Plugins/UniTask/CompilerServices/AsyncMethodBuilderAttribute.cs +++ b/src/UniTask/Assets/Plugins/UniTask/CompilerServices/AsyncMethodBuilderAttribute.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) - + #pragma warning disable CS1591 // Missing XML comment for publicly visible type or member #pragma warning disable CS0436 @@ -16,4 +15,3 @@ namespace System.Runtime.CompilerServices } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/CompilerServices/AsyncUniTaskMethodBuilder.cs b/src/UniTask/Assets/Plugins/UniTask/CompilerServices/AsyncUniTaskMethodBuilder.cs index 0b38d25..92617b7 100644 --- a/src/UniTask/Assets/Plugins/UniTask/CompilerServices/AsyncUniTaskMethodBuilder.cs +++ b/src/UniTask/Assets/Plugins/UniTask/CompilerServices/AsyncUniTaskMethodBuilder.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) - + #pragma warning disable CS1591 // Missing XML comment for publicly visible type or member using System; @@ -270,4 +269,3 @@ namespace Cysharp.Threading.Tasks.CompilerServices } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/CompilerServices/AsyncUniTaskVoidMethodBuilder.cs b/src/UniTask/Assets/Plugins/UniTask/CompilerServices/AsyncUniTaskVoidMethodBuilder.cs index 1a0728b..122a693 100644 --- a/src/UniTask/Assets/Plugins/UniTask/CompilerServices/AsyncUniTaskVoidMethodBuilder.cs +++ b/src/UniTask/Assets/Plugins/UniTask/CompilerServices/AsyncUniTaskVoidMethodBuilder.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) - + #pragma warning disable CS1591 // Missing XML comment for publicly visible type or member using System; @@ -104,4 +103,3 @@ namespace Cysharp.Threading.Tasks.CompilerServices } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/CompilerServices/MoveNextRunner.cs b/src/UniTask/Assets/Plugins/UniTask/CompilerServices/MoveNextRunner.cs index 12c6a4c..7252f0c 100644 --- a/src/UniTask/Assets/Plugins/UniTask/CompilerServices/MoveNextRunner.cs +++ b/src/UniTask/Assets/Plugins/UniTask/CompilerServices/MoveNextRunner.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) - + #pragma warning disable CS1591 // Missing XML comment for publicly visible type or member using System; @@ -56,4 +55,3 @@ namespace Cysharp.Threading.Tasks.CompilerServices } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/EnumerableAsyncExtensions.cs b/src/UniTask/Assets/Plugins/UniTask/EnumerableAsyncExtensions.cs index 5ab19bb..004e763 100644 --- a/src/UniTask/Assets/Plugins/UniTask/EnumerableAsyncExtensions.cs +++ b/src/UniTask/Assets/Plugins/UniTask/EnumerableAsyncExtensions.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Collections.Generic; @@ -33,4 +32,3 @@ namespace Cysharp.Threading.Tasks } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/EnumeratorAsyncExtensions.cs b/src/UniTask/Assets/Plugins/UniTask/EnumeratorAsyncExtensions.cs index 548d896..d27e17c 100644 --- a/src/UniTask/Assets/Plugins/UniTask/EnumeratorAsyncExtensions.cs +++ b/src/UniTask/Assets/Plugins/UniTask/EnumeratorAsyncExtensions.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Collections; @@ -227,4 +226,3 @@ namespace Cysharp.Threading.Tasks } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/ExceptionExtensions.cs b/src/UniTask/Assets/Plugins/UniTask/ExceptionExtensions.cs index 1f0da48..e411898 100644 --- a/src/UniTask/Assets/Plugins/UniTask/ExceptionExtensions.cs +++ b/src/UniTask/Assets/Plugins/UniTask/ExceptionExtensions.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) - + using System; namespace Cysharp.Threading.Tasks @@ -13,4 +12,3 @@ namespace Cysharp.Threading.Tasks } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/IUniTaskSource.cs b/src/UniTask/Assets/Plugins/UniTask/IUniTaskSource.cs index f646084..6b7e26c 100644 --- a/src/UniTask/Assets/Plugins/UniTask/IUniTaskSource.cs +++ b/src/UniTask/Assets/Plugins/UniTask/IUniTaskSource.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#pragma warning disable CS1591 +#pragma warning disable CS1591 using System; using System.Runtime.CompilerServices; @@ -65,4 +64,3 @@ namespace Cysharp.Threading.Tasks } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/Internal/ArrayPool.cs b/src/UniTask/Assets/Plugins/UniTask/Internal/ArrayPool.cs index 961840e..e1d9d3b 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Internal/ArrayPool.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Internal/ArrayPool.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Threading; @@ -149,4 +148,3 @@ namespace Cysharp.Threading.Tasks.Internal } } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/Internal/ArrayPoolUtil.cs b/src/UniTask/Assets/Plugins/UniTask/Internal/ArrayPoolUtil.cs index a3d782f..0892dc6 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Internal/ArrayPoolUtil.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Internal/ArrayPoolUtil.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Collections.Generic; @@ -104,4 +103,3 @@ namespace Cysharp.Threading.Tasks.Internal } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/Internal/ArrayUtil.cs b/src/UniTask/Assets/Plugins/UniTask/Internal/ArrayUtil.cs index b9ca649..fc7a808 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Internal/ArrayUtil.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Internal/ArrayUtil.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Collections.Generic; @@ -72,4 +71,3 @@ namespace Cysharp.Threading.Tasks.Internal } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/Internal/ContinuationQueue.cs b/src/UniTask/Assets/Plugins/UniTask/Internal/ContinuationQueue.cs index 4b4da75..4ee5f2a 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Internal/ContinuationQueue.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Internal/ContinuationQueue.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Threading; @@ -121,4 +120,3 @@ namespace Cysharp.Threading.Tasks.Internal } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/Internal/DiagnosticsExtensions.cs b/src/UniTask/Assets/Plugins/UniTask/Internal/DiagnosticsExtensions.cs index c5c849d..08a6fe4 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Internal/DiagnosticsExtensions.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Internal/DiagnosticsExtensions.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Collections.Generic; @@ -248,4 +247,3 @@ namespace Cysharp.Threading.Tasks.Internal } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/Internal/Error.cs b/src/UniTask/Assets/Plugins/UniTask/Internal/Error.cs index 76ac7dd..c02e541 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Internal/Error.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Internal/Error.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Runtime.CompilerServices; @@ -60,4 +59,3 @@ namespace Cysharp.Threading.Tasks.Internal } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/Internal/MinimumQueue.cs b/src/UniTask/Assets/Plugins/UniTask/Internal/MinimumQueue.cs index da3d821..a6b567a 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Internal/MinimumQueue.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Internal/MinimumQueue.cs @@ -1,6 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member -#endif +#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member using System; using System.Runtime.CompilerServices; diff --git a/src/UniTask/Assets/Plugins/UniTask/Internal/PlayerLoopRunner.cs b/src/UniTask/Assets/Plugins/UniTask/Internal/PlayerLoopRunner.cs index fba2bdf..b0c0e47 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Internal/PlayerLoopRunner.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Internal/PlayerLoopRunner.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) - + using System; using UnityEngine; @@ -161,4 +160,3 @@ namespace Cysharp.Threading.Tasks.Internal } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/Internal/RuntimeHelpersAbstraction.cs b/src/UniTask/Assets/Plugins/UniTask/Internal/RuntimeHelpersAbstraction.cs index 2e1f250..cbabdab 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Internal/RuntimeHelpersAbstraction.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Internal/RuntimeHelpersAbstraction.cs @@ -1,8 +1,9 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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; +#if UNITY_2018_3_OR_NEWER using UnityEngine; +#endif namespace Cysharp.Threading.Tasks.Internal { @@ -31,6 +32,8 @@ namespace Cysharp.Threading.Tasks.Internal return WellKnownNoReferenceContainsTypeInitialize(t.GetGenericArguments()[0]); } +#if UNITY_2018_3_OR_NEWER + // or add other wellknown types(Vector, etc...) here if (t == typeof(Vector2)) return true; if (t == typeof(Vector3)) return true; @@ -42,6 +45,8 @@ namespace Cysharp.Threading.Tasks.Internal if (t == typeof(Vector2Int)) return true; if (t == typeof(Vector3Int)) return true; +#endif + return false; } @@ -57,4 +62,3 @@ namespace Cysharp.Threading.Tasks.Internal } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/Internal/TaskTracker.cs b/src/UniTask/Assets/Plugins/UniTask/Internal/TaskTracker.cs index c99668c..18e1594 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Internal/TaskTracker.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Internal/TaskTracker.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Collections.Generic; @@ -129,4 +128,3 @@ namespace Cysharp.Threading.Tasks } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/Internal/WeakDictionary.cs b/src/UniTask/Assets/Plugins/UniTask/Internal/WeakDictionary.cs index a9e09c9..3feaad8 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Internal/WeakDictionary.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Internal/WeakDictionary.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Collections.Generic; @@ -333,4 +332,3 @@ namespace Cysharp.Threading.Tasks.Internal } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/PlayerLoopHelper.cs b/src/UniTask/Assets/Plugins/UniTask/PlayerLoopHelper.cs index e754230..8be1b59 100644 --- a/src/UniTask/Assets/Plugins/UniTask/PlayerLoopHelper.cs +++ b/src/UniTask/Assets/Plugins/UniTask/PlayerLoopHelper.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Linq; @@ -285,4 +284,3 @@ namespace Cysharp.Threading.Tasks } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/UniTask.Bridge.cs b/src/UniTask/Assets/Plugins/UniTask/UniTask.Bridge.cs index d98b278..c904299 100644 --- a/src/UniTask/Assets/Plugins/UniTask/UniTask.Bridge.cs +++ b/src/UniTask/Assets/Plugins/UniTask/UniTask.Bridge.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Collections; @@ -17,4 +16,3 @@ namespace Cysharp.Threading.Tasks } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/UniTask.Delay.cs b/src/UniTask/Assets/Plugins/UniTask/UniTask.Delay.cs index 9c08019..9951c1d 100644 --- a/src/UniTask/Assets/Plugins/UniTask/UniTask.Delay.cs +++ b/src/UniTask/Assets/Plugins/UniTask/UniTask.Delay.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Runtime.CompilerServices; @@ -480,4 +479,3 @@ namespace Cysharp.Threading.Tasks } } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/UniTask.Factory.cs b/src/UniTask/Assets/Plugins/UniTask/UniTask.Factory.cs index c70860e..214db62 100644 --- a/src/UniTask/Assets/Plugins/UniTask/UniTask.Factory.cs +++ b/src/UniTask/Assets/Plugins/UniTask/UniTask.Factory.cs @@ -1,9 +1,7 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Threading; -using UnityEngine.Events; namespace Cysharp.Threading.Tasks { @@ -117,11 +115,15 @@ namespace Cysharp.Threading.Tasks return () => Void(asyncAction); } - public static UnityAction VoidUnityAction(Func asyncAction) +#if UNITY_2018_3_OR_NEWER + + public static UnityEngine.Events.UnityAction VoidUnityAction(Func asyncAction) { return () => Void(asyncAction); } +#endif + /// /// helper of create add UniTaskVoid to delegate. /// For example: FooEvent += (sender, e) => UniTask.Void(async arg => { /* */ }, (sender, e)) @@ -142,4 +144,3 @@ namespace Cysharp.Threading.Tasks public static readonly UniTask One = UniTask.FromResult(1); } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/UniTask.Run.cs b/src/UniTask/Assets/Plugins/UniTask/UniTask.Run.cs index 1f382d2..379b6c2 100644 --- a/src/UniTask/Assets/Plugins/UniTask/UniTask.Run.cs +++ b/src/UniTask/Assets/Plugins/UniTask/UniTask.Run.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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; @@ -96,4 +95,3 @@ namespace Cysharp.Threading.Tasks } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/UniTask.Threading.cs b/src/UniTask/Assets/Plugins/UniTask/UniTask.Threading.cs index 94d01ce..6ed1ef8 100644 --- a/src/UniTask/Assets/Plugins/UniTask/UniTask.Threading.cs +++ b/src/UniTask/Assets/Plugins/UniTask/UniTask.Threading.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Runtime.CompilerServices; @@ -11,6 +10,8 @@ namespace Cysharp.Threading.Tasks { public partial struct UniTask { +#if UNITY_2018_3_OR_NEWER + /// /// If running on mainthread, do nothing. Otherwise, same as UniTask.Yield(PlayerLoopTiming.Update). /// @@ -19,6 +20,8 @@ namespace Cysharp.Threading.Tasks return new SwitchToMainThreadAwaitable(); } +#endif + public static SwitchToThreadPoolAwaitable SwitchToThreadPool() { return new SwitchToThreadPoolAwaitable(); @@ -36,6 +39,8 @@ namespace Cysharp.Threading.Tasks } } +#if UNITY_2018_3_OR_NEWER + public struct SwitchToMainThreadAwaitable { public Awaiter GetAwaiter() => new Awaiter(); @@ -72,6 +77,8 @@ namespace Cysharp.Threading.Tasks } } +#endif + public struct SwitchToThreadPoolAwaitable { public Awaiter GetAwaiter() => new Awaiter(); @@ -173,4 +180,3 @@ namespace Cysharp.Threading.Tasks } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/UniTask.WaitUntil.cs b/src/UniTask/Assets/Plugins/UniTask/UniTask.WaitUntil.cs index cf035eb..f11f264 100644 --- a/src/UniTask/Assets/Plugins/UniTask/UniTask.WaitUntil.cs +++ b/src/UniTask/Assets/Plugins/UniTask/UniTask.WaitUntil.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Collections.Generic; @@ -475,4 +474,3 @@ namespace Cysharp.Threading.Tasks } } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/UniTask.WhenAll.cs b/src/UniTask/Assets/Plugins/UniTask/UniTask.WhenAll.cs index 11b995a..5f8f340 100644 --- a/src/UniTask/Assets/Plugins/UniTask/UniTask.WhenAll.cs +++ b/src/UniTask/Assets/Plugins/UniTask/UniTask.WhenAll.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Collections.Generic; @@ -222,4 +221,3 @@ namespace Cysharp.Threading.Tasks } } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/UniTask.WhenAny.cs b/src/UniTask/Assets/Plugins/UniTask/UniTask.WhenAny.cs index d604ea8..64de31c 100644 --- a/src/UniTask/Assets/Plugins/UniTask/UniTask.WhenAny.cs +++ b/src/UniTask/Assets/Plugins/UniTask/UniTask.WhenAny.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Collections.Generic; @@ -46,7 +45,6 @@ namespace Cysharp.Threading.Tasks sealed class WhenAnyLRPromise : IUniTaskSource<(bool, T)> { int completedCount; - int winArgumentIndex; UniTaskCompletionSourceCore<(bool, T)> core; public WhenAnyLRPromise(UniTask leftTask, UniTask rightTask) @@ -184,7 +182,6 @@ namespace Cysharp.Threading.Tasks sealed class WhenAnyPromise : IUniTaskSource<(int, T)> { int completedCount; - int winArgumentIndex; UniTaskCompletionSourceCore<(int, T)> core; public WhenAnyPromise(UniTask[] tasks, int tasksLength) @@ -276,7 +273,6 @@ namespace Cysharp.Threading.Tasks sealed class WhenAnyPromise : IUniTaskSource { int completedCount; - int winArgumentIndex; UniTaskCompletionSourceCore core; public WhenAnyPromise(UniTask[] tasks, int tasksLength) @@ -366,4 +362,3 @@ namespace Cysharp.Threading.Tasks } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/UniTask.cs b/src/UniTask/Assets/Plugins/UniTask/UniTask.cs index ead3126..178c2f7 100644 --- a/src/UniTask/Assets/Plugins/UniTask/UniTask.cs +++ b/src/UniTask/Assets/Plugins/UniTask/UniTask.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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 #pragma warning disable CS0436 using System; @@ -652,4 +651,3 @@ namespace Cysharp.Threading.Tasks } } -#endif diff --git a/src/UniTask/Assets/Plugins/UniTask/UniTaskCompletionSource.cs b/src/UniTask/Assets/Plugins/UniTask/UniTaskCompletionSource.cs index 3141204..281c7d1 100644 --- a/src/UniTask/Assets/Plugins/UniTask/UniTaskCompletionSource.cs +++ b/src/UniTask/Assets/Plugins/UniTask/UniTaskCompletionSource.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Diagnostics; @@ -647,4 +646,3 @@ namespace Cysharp.Threading.Tasks } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/UniTaskExtensions.cs b/src/UniTask/Assets/Plugins/UniTask/UniTaskExtensions.cs index 8f80bbc..bd476f7 100644 --- a/src/UniTask/Assets/Plugins/UniTask/UniTaskExtensions.cs +++ b/src/UniTask/Assets/Plugins/UniTask/UniTaskExtensions.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Collections; @@ -190,6 +189,8 @@ namespace Cysharp.Threading.Tasks return new AsyncLazy(task.Preserve()); // require Preserve } +#if UNITY_2018_3_OR_NEWER + public static IEnumerator ToCoroutine(this UniTask task, Action resultHandler = null, Action exceptionHandler = null) { return new ToCoroutineEnumerator(task, resultHandler, exceptionHandler); @@ -376,6 +377,8 @@ namespace Cysharp.Threading.Tasks return (false, taskResult.Result); } +#endif + public static void Forget(this UniTask task) { var awaiter = task.GetAwaiter(); @@ -431,7 +434,9 @@ namespace Cysharp.Threading.Tasks { if (handleExceptionOnMainThread) { +#if UNITY_2018_3_OR_NEWER await UniTask.SwitchToMainThread(); +#endif } exceptionHandler(ex); } @@ -497,7 +502,9 @@ namespace Cysharp.Threading.Tasks { if (handleExceptionOnMainThread) { +#if UNITY_2018_3_OR_NEWER await UniTask.SwitchToMainThread(); +#endif } exceptionHandler(ex); } @@ -552,6 +559,8 @@ namespace Cysharp.Threading.Tasks return await continuationFunction(); } +#if UNITY_2018_3_OR_NEWER + public static async UniTask ConfigureAwait(this Task task, PlayerLoopTiming timing) { await task.ConfigureAwait(false); @@ -578,6 +587,8 @@ namespace Cysharp.Threading.Tasks return v; } +#endif + public static async UniTask Unwrap(this UniTask> task) { return await await task; @@ -588,6 +599,8 @@ namespace Cysharp.Threading.Tasks await await task; } +#if UNITY_2018_3_OR_NEWER + class ToCoroutineEnumerator : IEnumerator { bool completed; @@ -721,7 +734,8 @@ namespace Cysharp.Threading.Tasks { } } + +#endif } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/UniTaskObservableExtensions.cs b/src/UniTask/Assets/Plugins/UniTask/UniTaskObservableExtensions.cs index 888e797..97ad6de 100644 --- a/src/UniTask/Assets/Plugins/UniTask/UniTaskObservableExtensions.cs +++ b/src/UniTask/Assets/Plugins/UniTask/UniTaskObservableExtensions.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Runtime.ExceptionServices; @@ -743,4 +742,3 @@ namespace Cysharp.Threading.Tasks.Internal } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/UniTaskScheduler.cs b/src/UniTask/Assets/Plugins/UniTask/UniTaskScheduler.cs index 0cf9797..d047337 100644 --- a/src/UniTask/Assets/Plugins/UniTask/UniTaskScheduler.cs +++ b/src/UniTask/Assets/Plugins/UniTask/UniTaskScheduler.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#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.Threading; @@ -18,6 +17,8 @@ namespace Cysharp.Threading.Tasks /// public static bool PropagateOperationCanceledException = false; +#if UNITY_2018_3_OR_NEWER + /// /// Write log type when catch unobserved exception and not registered UnobservedTaskException. Default is Error. /// @@ -27,10 +28,16 @@ namespace Cysharp.Threading.Tasks /// Dispatch exception event to Unity MainThread. Default is true. /// public static bool DispatchUnityMainThread = true; - + // cache delegate. static readonly SendOrPostCallback handleExceptionInvoke = InvokeUnobservedTaskException; + static void InvokeUnobservedTaskException(object state) + { + UnobservedTaskException((Exception)state); + } +#endif + internal static void PublishUnobservedTaskException(Exception ex) { if (ex != null) @@ -42,6 +49,7 @@ namespace Cysharp.Threading.Tasks if (UnobservedTaskException != null) { +#if UNITY_2018_3_OR_NEWER if (!DispatchUnityMainThread || Thread.CurrentThread.ManagedThreadId == PlayerLoopHelper.MainThreadId) { // allows inlining call. @@ -52,9 +60,13 @@ namespace Cysharp.Threading.Tasks // Post to MainThread. PlayerLoopHelper.UnitySynchronizationContext.Post(handleExceptionInvoke, ex); } +#else + UnobservedTaskException.Invoke(ex); +#endif } else { +#if UNITY_2018_3_OR_NEWER string msg = null; if (UnobservedExceptionWriteLogType != UnityEngine.LogType.Exception) { @@ -80,15 +92,12 @@ namespace Cysharp.Threading.Tasks default: break; } +#else + Console.WriteLine(ex.ToString()); +#endif } } } - - static void InvokeUnobservedTaskException(object state) - { - UnobservedTaskException((Exception)state); - } } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/UniTaskVoid.cs b/src/UniTask/Assets/Plugins/UniTask/UniTaskVoid.cs index bc17a39..3f593b0 100644 --- a/src/UniTask/Assets/Plugins/UniTask/UniTaskVoid.cs +++ b/src/UniTask/Assets/Plugins/UniTask/UniTaskVoid.cs @@ -1,5 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) -#pragma warning disable CS1591 +#pragma warning disable CS1591 #pragma warning disable CS0436 using System; @@ -30,7 +29,9 @@ namespace Cysharp.Threading.Tasks [DebuggerHidden] public void GetResult() { +#if UNITY_2018_3_OR_NEWER UnityEngine.Debug.LogWarning("UniTaskVoid can't await, always fire-and-forget. use Forget instead of await."); +#endif } [DebuggerHidden] @@ -46,4 +47,3 @@ namespace Cysharp.Threading.Tasks } } -#endif \ No newline at end of file diff --git a/src/UniTask/Assets/Plugins/UniTask/UnityAsyncExtensions.Jobs.cs b/src/UniTask/Assets/Plugins/UniTask/UnityAsyncExtensions.Jobs.cs index 6f3ec12..785fe0b 100644 --- a/src/UniTask/Assets/Plugins/UniTask/UnityAsyncExtensions.Jobs.cs +++ b/src/UniTask/Assets/Plugins/UniTask/UnityAsyncExtensions.Jobs.cs @@ -1,4 +1,4 @@ -#if CSHARP_7_OR_LATER || (UNITY_2018_3_OR_NEWER && (NET_STANDARD_2_0 || NET_4_6)) && ENABLE_MANAGED_JOBS +#if ENABLE_MANAGED_JOBS #pragma warning disable CS1591 // Missing XML comment for publicly visible type or member using System;