관리 메뉴

caLAB

[유니티 개발] Addressable Asset을 활용해서 asset 원격으로 관리하기2(feat. 활용 코드) 본문

Unity/유니티 개발

[유니티 개발] Addressable Asset을 활용해서 asset 원격으로 관리하기2(feat. 활용 코드)

도이(doi) 2022. 6. 28. 19:10
728x90

이번에는 세팅을 완료한 번들을 유니티에서 불러와서 사용하는 것에 대해서 알아보고자 한다. 

using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;
using System;

public class addressableAssetInstance : MonoBehaviour
{
    public delegate void instanceDele();
    public event instanceDele instanceEvent;

    public string addressableName;

    private void Awake()
    {
        //addressableName을 가진 asset 생성
        Addressables.InstantiateAsync(addressableName,
                                      Vector3.zero,
                                      Quaternion.identity).Completed
        += onLoadDone; //캐릭터 instance가 완료되면 onLoadDone 함수 실행
    }

    private void Start()
    {
        instanceEvent += event1;
        instanceEvent += () => event2(4);
    }

    private void onLoadDone(AsyncOperationHandle<GameObject> obj)
    {
        try
        {
            instanceEvent(); //instanceEvent들 실행
        }
        catch (Exception ex)
        {
            Debug.Log(ex);
        }
    }

    private void event1()
    {
        Debug.Log("this is event1");
    }

    private void event2(int arg)
    {
        Debug.Log($"this is event2 arg {arg}");
    }
}
728x90
반응형
Comments