시작에 앞서 폴더 구조를 다음과 같이 변경하였다.
public class ResourceManager
{
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)
{
Debug.Log($"Failed to load prefab : {path}");
return null;
}
return Object.Instantiate(prefab, parent);
}
public void Destroy(GameObject go)
{
if (go == null)
return;
Object.Destroy(go);
}
기존의 Resources.Load(string path) 함수는 Assets/Resources를 탐색한다.
그렇기에 첫 사진과 같이 폴더를 정리하였다.
ResourceManager를 통해 Prefabs폴더에 접근하여 프리팹을 생성 및 파괴할 수 있다.