에셋 로딩을 대기하는 방법에는 기본적으로 2가지 방법을 사용할 수 있습니다.
추가로 UniTask를 사용하는 프로젝트에서는 USE_UNITASK 전처리기를 추가하여 TAsyncOperation.ToUniTask() 확장 메소드로 대기할 수 있습니다.
유니티 코루틴에서 대기
using TAssetBundle;
public class TestLoadAsset : MonoBehaviour
{
[AssetType(typeof(GameObject))]
public AssetRef prefab;
private void Start()
{
StartCoroutine(LoadAsset());
}
private IEnumerator LoadAsset()
{
var loadAsset = AssetManager.LoadAssetAsync<GameObject>(prefab);
//yield로 대기
yield return loadAsset;
var asset = loadAsset.Result.Get();
Instantiate(asset);
}
}
await로 대기
using TAssetBundle;
public class TestLoadAsset : MonoBehaviour
{
[AssetType(typeof(GameObject))]
public AssetRef prefab;
private void Start()
{
LoadAsset();
}
private async void LoadAsset()
{
//await로 대기
var loadAsset = await AssetManager.LoadAssetAsync<GameObject>(prefab).ToTask();
Instantiate(loadAsset.Get());
}
}
'TAssetBundle' 카테고리의 다른 글
[TAssetBundle] 스크립트에서 에셋 로드와 언로드 (0) | 2023.05.31 |
---|---|
[TAssetBundle] 강력한 에셋 번들 통합 관리 시스템 (0) | 2023.05.30 |