@@ -184,6 +184,42 @@ public static UnityEngine.Events.UnityAction UnityAction<T>(T state, Func<T, Uni
184
184
return ( ) => asyncAction ( state ) . Forget ( ) ;
185
185
}
186
186
187
+ /// <summary>
188
+ /// Create async void(UniTaskVoid) UnityAction.
189
+ /// For example: onClick.AddListener(UniTask.UnityAction(async (T state) => { /* */ } ))
190
+ /// </summary>
191
+ public static UnityEngine . Events . UnityAction < T > UnityAction < T > ( Func < T , UniTaskVoid > asyncAction )
192
+ {
193
+ return ( state ) => asyncAction ( state ) ;
194
+ }
195
+
196
+ /// <summary>
197
+ /// Create async void(UniTaskVoid) UnityAction.
198
+ /// For example: onClick.AddListener(UniTask.UnityAction(async (T1 s1, T2 s2) => { /* */ } ))
199
+ /// </summary>
200
+ public static UnityEngine . Events . UnityAction < T1 , T2 > UnityAction < T1 , T2 > ( Func < T1 , T2 , UniTaskVoid > asyncAction )
201
+ {
202
+ return ( s1 , s2 ) => asyncAction ( s1 , s2 ) ;
203
+ }
204
+
205
+ /// <summary>
206
+ /// Create async void(UniTaskVoid) UnityAction.
207
+ /// For example: onClick.AddListener(UniTask.UnityAction(async (T1 s1, T2 s2, T3 s3) => { /* */ } ))
208
+ /// </summary>
209
+ public static UnityEngine . Events . UnityAction < T1 , T2 , T3 > UnityAction < T1 , T2 , T3 > ( Func < T1 , T2 , T3 , UniTaskVoid > asyncAction )
210
+ {
211
+ return ( s1 , s2 , s3 ) => asyncAction ( s1 , s2 , s3 ) ;
212
+ }
213
+
214
+ /// <summary>
215
+ /// Create async void(UniTaskVoid) UnityAction.
216
+ /// For example: onClick.AddListener(UniTask.UnityAction(async (T1 s1, T2 s2, T3 s3, T4 s4) => { /* */ } ))
217
+ /// </summary>
218
+ public static UnityEngine . Events . UnityAction < T1 , T2 , T3 , T4 > UnityAction < T1 , T2 , T3 , T4 > ( Func < T1 , T2 , T3 , T4 , UniTaskVoid > asyncAction )
219
+ {
220
+ return ( s1 , s2 , s3 , s4 ) => asyncAction ( s1 , s2 , s3 , s4 ) ;
221
+ }
222
+
187
223
#endif
188
224
189
225
/// <summary>
0 commit comments