-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
Managers 생성
21.05.24 09:01 작성 조회수 156
0
(@Scene)오브젝트 CursorController.cs의 Start 함수에서 Managers.Resource.Load 호출 시 Managers의 Init 함수가 호출되면서 @Managers오브젝트가 Hierachy에 생성이 되야 된다고 생각을 했는데 안되는거보니 생각이 틀린듯한데
어떤 부분이 틀렸는지 간단하게 답글을 달아주시면 감사하겠습니다
답변을 작성해보세요.
1
Rookiss
지식공유자2021.05.24
제 예상으로는 위 코드가 아예 실행이 되지 않고 있는 상황으로 보입니다.
로그를 찍어보거나 breakpoint를 걸어서 Managers의 Init()이 호출되는지 확인 바랍니다.
강의 코드에서는 최소한 한 번 초기화 하도록
위 부분에다가 Init();을 한 번씩 넣어놨을꺼에요.
![정상훈님의 프로필](https://cdn.inflearn.com/public/main/profile/default_profile.png?w=48)
정상훈
질문자2021.05.24
말씀하신대로 Init() 자체가 왜 인지 호출이 안되던 상황이라
말씀하신 부분 Resource 프로퍼티 get부분에 Init()을 각각 넣었더니 해결은 됬는데
Resource나 Canvas 호출 시 return 부분에서 m_instance 호출시 Instance의 get{Init(); return m_instance;}이 호출되는 상황이니 따로 Init()가 필요없다고 생각하는데 왜 이런 상황이 발생하는지 모르겠네요
결과적으로 중복 호출하게 되는셈이 아닌지 궁금합니다
말씀하신 코드 다운로드 받아봐도 get{ return instance.resourceManager;} 이런식으로 되있어서요
Rookiss
지식공유자2021.05.24
m_instance는 static 멤버 변수라서
m_instance를 사용한다고 별도로 Instance를 호출하지 않습니다.
따라서 사전에 한 번 어디선가 Instance를 호출해줘야 합니다.
답변 1