1
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Cysharp.Threading.Tasks;
|
||||
|
||||
namespace BITKit
|
||||
{
|
||||
@@ -25,5 +27,44 @@ namespace BITKit
|
||||
await Task.Delay(64);
|
||||
}
|
||||
}
|
||||
public static async UniTask UniTaskFunc(this Func<UniTask> self)
|
||||
{
|
||||
List<UniTask> tasks = new List<UniTask>();
|
||||
foreach (var func in self.CastAsFunc())
|
||||
{
|
||||
tasks.Add(func.Invoke());
|
||||
}
|
||||
await UniTask.WhenAll(tasks);
|
||||
}
|
||||
|
||||
public static async UniTask UniTaskFunc<T0>(this Func<T0,UniTask> self,T0 arg0)
|
||||
{
|
||||
List<UniTask> tasks = new List<UniTask>();
|
||||
foreach (var func in self.CastAsFunc())
|
||||
{
|
||||
tasks.Add(func.Invoke(arg0));
|
||||
}
|
||||
await UniTask.WhenAll(tasks);
|
||||
}
|
||||
|
||||
public static async UniTask UniTaskFunc<T0,T1>(this Func<T0,T1,UniTask> self,T0 arg0,T1 arg1)
|
||||
{
|
||||
List<UniTask> tasks = new List<UniTask>();
|
||||
foreach (var func in self.CastAsFunc())
|
||||
{
|
||||
tasks.Add(func.Invoke(arg0,arg1));
|
||||
}
|
||||
await UniTask.WhenAll(tasks);
|
||||
}
|
||||
|
||||
public static async UniTask UniTaskFunc<T0,T1,T2>(this Func<T0,T1,T2,UniTask> self,T0 arg0,T1 arg1,T2 arg2)
|
||||
{
|
||||
List<UniTask> tasks = new List<UniTask>();
|
||||
foreach (var func in self.CastAsFunc())
|
||||
{
|
||||
tasks.Add(func.Invoke(arg0,arg1,arg2));
|
||||
}
|
||||
await UniTask.WhenAll(tasks);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user