From 08184af73794796192bf450a154ed0e1310a3e75 Mon Sep 17 00:00:00 2001 From: neuecc Date: Thu, 25 Jan 2024 20:42:42 +0900 Subject: [PATCH] simplify UNITASK define --- src/UniTask.NetCore/UniTask.NetCore.csproj | 69 ++++++++++--------- src/UniTask.NetCoreTests/Linq/Merge.cs | 2 + .../TaskExtensionsTest.cs | 2 + .../Plugins/UniTask/Runtime/IUniTaskSource.cs | 15 ++-- .../UniTask/Runtime/UniTask.AsValueTask.cs | 15 ++-- .../Assets/Plugins/UniTask/Runtime/UniTask.cs | 14 ++-- 6 files changed, 67 insertions(+), 50 deletions(-) diff --git a/src/UniTask.NetCore/UniTask.NetCore.csproj b/src/UniTask.NetCore/UniTask.NetCore.csproj index 94d3a92..b794135 100644 --- a/src/UniTask.NetCore/UniTask.NetCore.csproj +++ b/src/UniTask.NetCore/UniTask.NetCore.csproj @@ -1,42 +1,43 @@  - - net6.0;net7.0;netstandard2.1;netstandard2.0 - UniTask - 8.0 - Cysharp.Threading.Tasks - true - $(NoWarn);CS1591 + + net6.0;net7.0;netstandard2.1;netstandard2.0 + UniTask + 8.0 + Cysharp.Threading.Tasks + UNITASK_NETCORE + true + $(NoWarn);CS1591 - - UniTask - $(Version) - Cysharp - Cysharp - © Cysharp, Inc. - task;async - Provides an efficient async/await integration to Unity and .NET Core. - https://github.com/Cysharp/UniTask - $(PackageProjectUrl) - git - MIT - Icon.png - true - opensource.snk - true - + + UniTask + $(Version) + Cysharp + Cysharp + © Cysharp, Inc. + task;async + Provides an efficient async/await integration to Unity and .NET Core. + https://github.com/Cysharp/UniTask + $(PackageProjectUrl) + git + MIT + Icon.png + true + opensource.snk + true + - - - + + + - - - - + + + + - - - + + + diff --git a/src/UniTask.NetCoreTests/Linq/Merge.cs b/src/UniTask.NetCoreTests/Linq/Merge.cs index 7021d1d..35cb99b 100644 --- a/src/UniTask.NetCoreTests/Linq/Merge.cs +++ b/src/UniTask.NetCoreTests/Linq/Merge.cs @@ -1,3 +1,5 @@ +#pragma warning disable CS1998 + using System; using System.Threading; using System.Threading.Tasks; diff --git a/src/UniTask.NetCoreTests/TaskExtensionsTest.cs b/src/UniTask.NetCoreTests/TaskExtensionsTest.cs index 6097bc1..1af8222 100644 --- a/src/UniTask.NetCoreTests/TaskExtensionsTest.cs +++ b/src/UniTask.NetCoreTests/TaskExtensionsTest.cs @@ -1,3 +1,5 @@ +#pragma warning disable CS1998 + using System; using System.Threading.Tasks; using Cysharp.Threading.Tasks; diff --git a/src/UniTask/Assets/Plugins/UniTask/Runtime/IUniTaskSource.cs b/src/UniTask/Assets/Plugins/UniTask/Runtime/IUniTaskSource.cs index c8177b4..ad758f1 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Runtime/IUniTaskSource.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Runtime/IUniTaskSource.cs @@ -1,4 +1,9 @@ #pragma warning disable CS1591 +#pragma warning disable CS0108 + +#if (UNITASK_NETCORE && !NETSTANDARD2_0) || UNITY_2022_3_OR_NEWER +#define SUPPORT_VALUETASK +#endif using System; using System.Runtime.CompilerServices; @@ -19,9 +24,8 @@ namespace Cysharp.Threading.Tasks // similar as IValueTaskSource public interface IUniTaskSource -#if (!UNITY_2018_3_OR_NEWER || UNITY_2022_3_OR_NEWER) && !NETSTANDARD2_0 +#if SUPPORT_VALUETASK : System.Threading.Tasks.Sources.IValueTaskSource -#pragma warning disable CS0108 #endif { UniTaskStatus GetStatus(short token); @@ -30,8 +34,7 @@ namespace Cysharp.Threading.Tasks UniTaskStatus UnsafeGetStatus(); // only for debug use. -#if (!UNITY_2018_3_OR_NEWER || UNITY_2022_3_OR_NEWER) && !NETSTANDARD2_0 -#pragma warning restore CS0108 +#if SUPPORT_VALUETASK System.Threading.Tasks.Sources.ValueTaskSourceStatus System.Threading.Tasks.Sources.IValueTaskSource.GetStatus(short token) { @@ -53,13 +56,13 @@ namespace Cysharp.Threading.Tasks } public interface IUniTaskSource : IUniTaskSource -#if (!UNITY_2018_3_OR_NEWER || UNITY_2022_3_OR_NEWER) && !NETSTANDARD2_0 +#if SUPPORT_VALUETASK , System.Threading.Tasks.Sources.IValueTaskSource #endif { new T GetResult(short token); -#if (!UNITY_2018_3_OR_NEWER || UNITY_2022_3_OR_NEWER) && !NETSTANDARD2_0 +#if SUPPORT_VALUETASK new public UniTaskStatus GetStatus(short token) { diff --git a/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.AsValueTask.cs b/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.AsValueTask.cs index 70b3a44..ab1e913 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.AsValueTask.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.AsValueTask.cs @@ -1,5 +1,10 @@ -#if !UNITY_2018_3_OR_NEWER || UNITY_2022_3_OR_NEWER -#pragma warning disable 0649 +#pragma warning disable 0649 + +#if UNITASK_NETCORE || UNITY_2022_3_OR_NEWER +#define SUPPORT_VALUETASK +#endif + +#if SUPPORT_VALUETASK using System; using System.Threading.Tasks; @@ -11,7 +16,7 @@ namespace Cysharp.Threading.Tasks { public static ValueTask AsValueTask(this in UniTask task) { -#if NETSTANDARD2_0 +#if (UNITASK_NETCORE && NETSTANDARD2_0) return new ValueTask(new UniTaskValueTaskSource(task), 0); #else return task; @@ -20,7 +25,7 @@ namespace Cysharp.Threading.Tasks public static ValueTask AsValueTask(this in UniTask task) { -#if NETSTANDARD2_0 +#if (UNITASK_NETCORE && NETSTANDARD2_0) return new ValueTask(new UniTaskValueTaskSource(task), 0); #else return task; @@ -37,7 +42,7 @@ namespace Cysharp.Threading.Tasks await task; } -#if NETSTANDARD2_0 +#if (UNITASK_NETCORE && NETSTANDARD2_0) class UniTaskValueTaskSource : IValueTaskSource { diff --git a/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.cs b/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.cs index 9de15d3..56a8d1f 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.cs @@ -1,6 +1,10 @@ #pragma warning disable CS1591 // Missing XML comment for publicly visible type or member #pragma warning disable CS0436 +#if UNITASK_NETCORE || UNITY_2022_3_OR_NEWER +#define SUPPORT_VALUETASK +#endif + using Cysharp.Threading.Tasks.CompilerServices; using System; using System.Diagnostics; @@ -69,7 +73,7 @@ namespace Cysharp.Threading.Tasks return new UniTask(new IsCanceledSource(source), token); } -#if !UNITY_2018_3_OR_NEWER || UNITY_2022_3_OR_NEWER +#if SUPPORT_VALUETASK public static implicit operator System.Threading.Tasks.ValueTask(in UniTask self) { @@ -78,7 +82,7 @@ namespace Cysharp.Threading.Tasks return default; } -#if NETSTANDARD2_0 +#if (UNITASK_NETCORE && NETSTANDARD2_0) return self.AsValueTask(); #else return new System.Threading.Tasks.ValueTask(self.source, self.token); @@ -118,7 +122,7 @@ namespace Cysharp.Threading.Tasks this.source.GetResult(this.token); return CompletedTasks.AsyncUnit; } - else if(this.source is IUniTaskSource asyncUnitSource) + else if (this.source is IUniTaskSource asyncUnitSource) { return new UniTask(asyncUnitSource, this.token); } @@ -440,7 +444,7 @@ namespace Cysharp.Threading.Tasks return self.AsUniTask(); } -#if !UNITY_2018_3_OR_NEWER || UNITY_2022_3_OR_NEWER +#if SUPPORT_VALUETASK public static implicit operator System.Threading.Tasks.ValueTask(in UniTask self) { @@ -449,7 +453,7 @@ namespace Cysharp.Threading.Tasks return new System.Threading.Tasks.ValueTask(self.result); } -#if NETSTANDARD2_0 +#if (UNITASK_NETCORE && NETSTANDARD2_0) return self.AsValueTask(); #else return new System.Threading.Tasks.ValueTask(self.source, self.token);