123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <#@ template debug="false" hostspecific="false" language="C#" #>
- <#@ assembly name="System.Core" #>
- <#@ import namespace="System.Linq" #>
- <#@ import namespace="System.Text" #>
- <#@ import namespace="System.Collections.Generic" #>
- <#@ output extension=".cs" #>
- #pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
- using System.Collections.Generic;
- namespace Cysharp.Threading.Tasks
- {
- public static partial class UniTaskExtensions
- {
- // shorthand of WhenAll
-
- public static UniTask.Awaiter GetAwaiter(this UniTask[] tasks)
- {
- return UniTask.WhenAll(tasks).GetAwaiter();
- }
- public static UniTask.Awaiter GetAwaiter(this IEnumerable<UniTask> tasks)
- {
- return UniTask.WhenAll(tasks).GetAwaiter();
- }
- public static UniTask<T[]>.Awaiter GetAwaiter<T>(this UniTask<T>[] tasks)
- {
- return UniTask.WhenAll(tasks).GetAwaiter();
- }
- public static UniTask<T[]>.Awaiter GetAwaiter<T>(this IEnumerable<UniTask<T>> tasks)
- {
- return UniTask.WhenAll(tasks).GetAwaiter();
- }
- <# for(var i = 2; i <= 15; i++ ) {
- var range = Enumerable.Range(1, i);
- var t = string.Join(", ", range.Select(x => "T" + x));
- var args = string.Join(", ", range.Select(x => $"UniTask<T{x}> task{x}"));
- var titems = string.Join(", ", range.Select(x => $"tasks.Item{x}"));
- #>
- public static UniTask<(<#= t #>)>.Awaiter GetAwaiter<<#= t #>>(this (<#= args #>) tasks)
- {
- return UniTask.WhenAll(<#= titems #>).GetAwaiter();
- }
- <# } #>
- <# for(var i = 2; i <= 15; i++ ) {
- var range = Enumerable.Range(1, i);
- var args = string.Join(", ", range.Select(x => $"UniTask task{x}"));
- var titems = string.Join(", ", range.Select(x => $"tasks.Item{x}"));
- #>
- public static UniTask.Awaiter GetAwaiter(this (<#= args #>) tasks)
- {
- return UniTask.WhenAll(<#= titems #>).GetAwaiter();
- }
- <# } #>
- }
- }
|