Unity ToyProject/RPG

ResourceManager

김조성준 2023. 7. 16. 21:33

전에 작성한 Managers 스크립트에 다음 코드를 작성하면 다른 스크립트에서 RescourceManager에 접근할 수 있습니다.

    ResourceManager resource = new ResourceManager();
    public static ResourceManager Resource { get { return Instance.resource; } }

 

Prefab 폴더 안의 프리팹들을 쉽게 생성하기 위해, 해당 프리팹의 이름 or 경로를 통해 프리팹을 생성하도록 작성한 코드입니다. 

public class ResourceManager : MonoBehaviour
{
    public T Load<T>(string path) where T : Object
    {
        return Resources.Load<T>(path);
    }

    public GameObject Instantiate(string path, Transform parent = null)
    {
        GameObject prefab = Load<GameObject>($"Prefabs/{path}");
        if (prefab == null)
            return null;
        return Object.Instantiate(prefab, parent);
    }

    public void Destroy(GameObject destroyObject)
    {
        if (destroyObject == null)
            return;
        Object.Destroy(destroyObject);
    }
}

 

다음과 같이 RescourceManager를 생성해 두면, 밑의 코드 한 줄로 Prefab을 생성할 수 있습니다.

Managers.Resource.Instantiate("UI");