public static class UniTaskHelper {
public static Action<T> Action<T>(Func<T, UniTaskVoid> asyncAction) {
return (t1) => asyncAction(t1).Forget();
}
}
Action<GameScene> _fooAction;
void Awake() {
_fooAction = UniTaskHelper.Action<GameScene>(OnSceneReady);
}
void OnEnable() {
_sceneReadyEvent += _fooAction;
}
void OnDisable() {
_sceneReadyEvent -= _fooAction;
}
async UniTaskVoid OnSceneReady(GameScene scene) {
_logger.Info("Scene ready: " + scene);
// await something
await UniTask.Yield();
}
https://github.com/Cysharp/UniTask/issues/329
UniTask 에서 지원하지않는 UniTask.Action<T> 사용해보기.
event Action<T> Callback 에 Lambda 를 사용해서 Parameter 를 전달받기 위해서 Func 를 이용하면 가능.
'Unity' 카테고리의 다른 글
[Unity] 윈도우 데스크탑 인스톨러 만들기 (0) | 2023.08.08 |
---|---|
[Unity] RectTransformUtility 팁 (0) | 2023.05.26 |
[Unity] Stencil Buffer 에 대해서 (0) | 2023.04.26 |
[Unity] 커스텀 에디터 사용하기 (0) | 2023.04.14 |
[Unity] Prefabs Variant 사용법 (0) | 2023.04.14 |