- ResourceManager 수정사항
ResourceManager 수정사항
기존 ResourceManager에서는 미리 AssetReference를 로딩 시점에서 로드 시켜두고
어떤 오브젝트를 생성해야 할 때 Dictionary를 참조해서 AssetReference를 사용해 주소에 접근해 리소스를
로드하도록 구현했다.
그런데 모든 Resource의 AssetReference를 로드하는건 쓸데 없이 메모리를 낭비하는 일이 아닌가 라는 생각이 들었다.
처음에 이런 구조를 생각한 것은 예를 들어 카드를 랜덤으로 생성할 떄 Dictionary를 통해서 갯수를 알고
그 중 하나를 랜덤으로 선택해서 AssetReference를 통해 빠르게 카드를 로드 하려는 의도 였다.
그런데 몬스터, UI, 카드등 여러가지의 AssetReference를 한번에 로드하려니 시간이 생각 외로 많이 걸리는 부분도
있었고, 특정 클래스에서만 특수하게 사용하고 관리할 오브젝트나 리소스 같은 경우는 굳이 이런 과정없이 사용하는
부분에 AssetReference를 포함하면 좀 더 쉽고 간단하고 빠르게 처리할 수 있다는 생각이 들었다.
그리고 우리는 이미 Addressable을 통해서 에셋을 등록해서 관리를 하고 있는데 리소스 매니저에서 또 주소를
관리하는 것은 뭔가 이중적인 관리가 되는게 아닌가 라는 생각도 들었다.
그래서 앞으로 개선하고자 하는 방향은 특정 클래스에서 사용되는 경우 각자가 AssetReference를 들고 있다가 필요한
상황에서 ObjectPool에게 Object생성을 요구하거나 Pool을 사용하지 않는 경우에나 리소스만 필요한 경우
ResourceManager를 통해서 리소스를 요청하도록 개선할 예정이다
또 여러가지 같은 그룹의 프리펩들을 하나의 SO로 그룹화해서 로드하면 좀 더 효율적으로 작동할 수 있지 않을까? 라는
생각도 하고 있고 현재 구현중인 부분이 끝난 후 적용을 시켜볼 예정이다.